2017-02-17 11 views
0

インデックス内のオブジェクトを置き換えたいのですが、何も保存されません。私は(文書を)CONSOLE.LOG、それが反映さ)..オブジェクトをMongooseの配列に置き換えてください

{ 
    "_id": { 
     "$oid": "58a71ec0c80a9a0436ae2fb1" 
    }, 
    "owner": "[email protected]", 
    "contacts": [ 
     { 
      "work": "", 
      "home": "", 
      "mobile": "", 
      "email": "", 
      "company": "", 
      "last": "Contact", 
      "middle": "", 
      "first": "New" 
     }, 
     { 
      "first": "Another", 
      "middle": "", 
      "last": "Contact", 
      "company": "", 
      "email": "", 
      "mobile": "", 
      "home": "", 
      "work": "" 
     } 
    ], 
    "__v": 1 
} 

そして、これは私が試したものです

Contacts.findById({_id: "58a71ec0c80a9a0436ae2fb1"}, function(err,document) { 
    document.contacts[req.body.indexOfObjectToBeEdited] = req.body.updatedObject 
    console.log(document) 
    document.save(function(err) { 
     return res.json({event:"Updated Contact"}) 
    }) 
}) 

document.save前右(:これは、文書は次のようになります正しい変更。しかし、私が保存すると、mongodbで何も更新されず、エラーも表示されません。私は何をすべきですか?

+0

のドキュメントで

document.markModified("contacts"); 

チェックに使用上の注意を意味するのですか?あなたはセーブ機能の後にいますか? –

+0

document.saveの直前では、console.log(ドキュメント)が更新されます。しかし、実際に保存した後にdbをチェックすると、更新されていないように見えます。 – Zach

答えて

2

保存する前にこの行を挿入してみてください。配列を変更するには、マニュアルが変更されたことを手動で伝える必要があります。 「私は印刷するとき、」あなたが言うとき、あなたは何をしてより多くの情報 http://mongoosejs.com/docs/schematypes.html

+0

これはうまくいった!ありがとう! – Zach

+0

喜んでお手伝いします... –

+0

新しい情報をゲット! –

関連する問題