exception - Meteor 抛出 throwIfSelectorIsNotId 异常

标签 exception meteor meteorite

运行某些代码时,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

这是因为meteor的设计存在安全风险,如果有客户端mongodb数据库,它可以任意从服务器获取其他操作的信息,同时决定是否允许更新。它是在 Meteor 0.57 中引入的。

关于exception - Meteor 抛出 throwIfSelectorIsNotId 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16687453/

相关文章:

javascript - 如何在 Meteor 中进行简单的数据库查询

c# - 如何找到被忽略的异常

python - 重新引发异常有什么意义?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

delphi - 如何在 COM 服务器中引发异常?

mongodb - 如何在 Meteor 中读取依赖于另一个集合的集合

meteor - 尝试安装和运行 Telescope/meteor 时出错

javascript - meteor js停止订阅集合

meteor - 更新到 Meteor 1.3 后出错 - 名称为 'onBeforeAction' 的处理程序已存在

javascript - 从本地计算机上传图像并将它们保存到与meteorjs中的redactor的文件夹中