我正在尝试根据多个 _id 更新集合。
我通过 Session.get()以数组格式接收 _id ,如下所示:
var selectedID = Session.get('selectedItemIDSet');
console.log("selectedID array contents are: "+selectedID);
上面的代码确保selectedID
数组存在并产生:
selectedID数组内容为:LZJKA8S3wYNwHakzE,ikrbCDuttHrwkEcuv
以下查询:
buyList.find({_id:{ "$in": selectedID} }).fetch();
成功地生了两个物体!
现在我遇到问题,如何用这两个 _id
更新集合?我尝试使用以下代码:
var PostedArray = [{PostedBy: Meteor.user()._id }];
buyList.update(_id: selectedID, {$set: {wishListArray: PostedArray} });
...但收到错误消息:未捕获错误:Mongo选择器无法成为数组。(...)
任何帮助都将不胜感激。
答案 0 :(得分:2)
在update
中使用与find
+相同的选择器+指定multi: true
选项:
buyList.update({ // selector
_id: {
"$in": selectedID
}
}, { // modifier
$set: {
wishListArray: PostedArray
}
}, { // options
multi: true
});
请注意,您的2个文档将使用相同的修饰符进行更新。