蒙戈內嵌套數組更新具體數值我有幾分以下模式(無_id) -通過貓鼬
{uid: String,
inbox:[{msgid:String, someval:String}]
}
現在,在請求我得到的MsgId和我用它在下面貓鼬查詢像這個 -
my_model.findOne({'inbox.msgid':'msgidvaluexyz'}
, function(err, doc) {
console.log(doc);
return !0; })
現在的問題是,我得到整個文件,其中有具體的消息收件箱中的其他消息一起 -
Output-
{uid:'xyz',
inbox:[
{msgid:,someval},
{msgid:'our queried msgid',someval}, //required sub array
{msgid:,someval},
]
}
現在我可以使用什麼查詢來獲取特定的子數組,因爲文檔收件箱太大而無法循環。
thx man..sure看起來好像會得到完成的工作..將節省一些嚴重的處理時間.. :) – digster 2013-04-06 09:13:51
一個快速問題...回調確實返回特定的子數組... ..但是當我嘗試更改某些內容並保存回調變量時......說callback_doc.inbox [0] .changed_var = something; callback_doc.save()..它更新對第一個索引陣列(索引0)..我們如何引用回調中的特定索引..就像callback_doc.inbox [$]? – digster 2013-04-09 11:28:15
@ user597272你沒有整個對象,所以我想你會想通過'update'而不是'save'來更新它,並且使用'$'位置更新操作符,它在更新方面起到相同的作用。 – JohnnyHK 2013-04-09 11:40:01