运行某些代码时,Meteor 会抛出 throwIfSelectorIsNotId 异常。我有两个客户端运行相同的代码,当第二个客户端运行相同的代码时会引发异常。
无法弄清楚这个异常的含义以及抛出的原因。希望有人能够解释一下。
对于客户端上的某些操作(我认为是从 0.57 版本开始)。当进行更新操作时,例如
MyCollection.update({name:"John Doe"},{$set:{age:50}});
您需要在客户端将其分成两部分。 (仅在客户端)。
var doc_id = MyCollection.findOne({name:"John Doe"})._id;
MyCollection.update({_id:doc_id,{$set:{age:50}});
您需要通过以下方式找到该文档_id
首先然后更新该文档。选择器只能是_id
for update
& remove
运营。
这是因为meteor的设计存在安全风险,如果有客户端mongodb数据库,它可以任意从服务器获取其他操作的信息,同时确定是否允许更新。它是在 Meteor 0.57 中引入的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)