蒙戈内嵌套数组更新具体数值我有几分以下模式(无_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