Mongodb 如何使用多个"u id' ;;s
我正在尝试根据多个\u id更新集合 我通过会话以数组格式接收\u id。get()如下所示:Mongodb 如何使用多个"u id' ;;s,mongodb,meteor,mongodb-query,Mongodb,Meteor,Mongodb Query,我正在尝试根据多个\u id更新集合 我通过会话以数组格式接收\u id。get()如下所示: var selectedID = Session.get('selectedItemIDSet'); console.log("selectedID array contents are: "+selectedID); 上述代码确保selectedID数组存在并产生: 选定的EDID数组内容包括:LZJKA8S3wYNwHakzE、ikrbCDuttHrwkEcuv 查询如下: buyLis
var selectedID = Session.get('selectedItemIDSet');
console.log("selectedID array contents are: "+selectedID);
上述代码确保selectedID
数组存在并产生:
选定的EDID数组内容包括:LZJKA8S3wYNwHakzE、ikrbCDuttHrwkEcuv
查询如下:
buyList.find({_id:{ "$in": selectedID} }).fetch();
成功删除两个对象
现在,对于我遇到的问题,如何使用这两个\u id更新集合
我已尝试使用以下代码:
var PostedArray = [{PostedBy: Meteor.user()._id }];
buyList.update(_id: selectedID, {$set: {wishListArray: PostedArray} });
…但获取错误消息:未捕获错误:Mongo选择器不能是数组。(……
任何帮助都将不胜感激。在中使用与查找
相同的选择器,指定multi:true
选项:
buyList.update({//selector
_身份证:{
“$in”:选择EDID
}
},{//修饰语
$set:{
后置阵列
}
},{//选项
多:真的
});
请注意,您的两个文档将使用相同的修改器进行更新。在中使用与您的查找相同的选择器。
+指定多:真
选项:
buyList.update({//selector
_身份证:{
“$in”:选择EDID
}
},{//修饰语
$set:{
后置阵列
}
},{//选项
多:真的
});
请注意,您的两个文档将使用相同的修改器进行更新。您还需要在末尾添加{multi:true}
,以确保更新了多个文档。所以最后的代码是buyList.update({u id:{“$in”:selectedID},{$set:{wishListArray:PostedArray}},{multi:true})代码>@ghybs谢谢大家。按照你的建议,我收到了这个错误消息:Uncaught。errorClass{error:403,reason:“不允许。不受信任的代码只能按ID更新文档。”,详细信息:未定义,消息:“不允许。不受信任的代码只能按ID更新文档。[403]”,errorType:“Meteor.error”}@SirBT您在哪里执行代码?你还有不安全的软件包吗?@ghybs我正在chrome浏览器控制台上执行代码,我假设这相当于在客户端运行它。不,我没有不安全的包裹。我刚才删除了它。请看,您还需要在末尾添加{multi:true}
,以确保更新了多个文档。所以最后的代码是buyList.update({u id:{“$in”:selectedID},{$set:{wishListArray:PostedArray}},{multi:true})代码>@ghybs谢谢大家。按照你的建议,我收到了这个错误消息:Uncaught。errorClass{error:403,reason:“不允许。不受信任的代码只能按ID更新文档。”,详细信息:未定义,消息:“不允许。不受信任的代码只能按ID更新文档。[403]”,errorType:“Meteor.error”}@SirBT您在哪里执行代码?你还有不安全的软件包吗?@ghybs我正在chrome浏览器控制台上执行代码,我假设这相当于在客户端运行它。不,我没有不安全的包裹。我刚才把它拿走了,看到了吗