我试图更新嵌套数组中的值,但无法使其工作.
我的目标是这样的
{
"_id": {
"$oid": "1"
},
"array1": [
{
"_id": "12",
"array2": [
{
"_id": "123",
"answeredBy": [],
},
{
"_id": "124",
"answeredBy": [],
}
],
}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要将值推送到"answersBy"数组.
在下面的例子中,我尝试将"success"字符串推送到"123 _id"对象的"answersBy"数组,但它不起作用.
callback = function(err,value){
if(err){
res.send(err);
}else{
res.send(value);
}
};
conditions = {
"_id": 1,
"array1._id": 12,
"array2._id": 123
};
updates = {
$push: {
"array2.$.answeredBy": "success"
}
};
options = {
upsert: true
};
Model.update(conditions, updates, options, callback);
Run Code Online (Sandbox Code Playgroud)
我找到了这个链接,但它的答案只说我应该使用类似对象的结构而不是数组.这不适用于我的情况.我真的需要我的对象嵌套在数组中
如果你能在这里帮助我会很棒.我花了好几个小时来搞清楚这一点.
先感谢您!