[英]Replace object in array in Mongoose
我想使用索引替換數組中的對象,但不會節省任何費用。 這是文檔的樣子:
{
"_id": {
"$oid": "58a71ec0c80a9a0436ae2fb1"
},
"owner": "contact1@gmail.com",
"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()之前我是console.log(document),它反映了正確的更改。 但是當我保存時,mongodb中沒有任何更新,並且我沒有收到任何錯誤。 我應該怎么做?
請嘗試在保存之前立即插入此行。 由於需要修改數組,因此我們需要手動告訴貓鼬它已被修改。
document.markModified("contacts");
查看文檔中的使用說明 ,以獲取更多信息http://mongoosejs.com/docs/schematypes.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.