无法更新流星集合

时间:2013-04-14 21:00:12

标签: mongodb collections meteor

我是Meteor的新手,我无法弄清楚为什么会这样?我有一个名为gameCol的集合,我正在尝试更新。集合中只有一个文档符合标准。当我像这样更新时:

gameCol.update({started:true}, {$set:{started:false}});

流星抛出

Meteor.Error.prototype = new Error; at line 144 livedata_common.js

如果我这样更新:

var status = gameCol.findOne({started:true});
gameCol.update({_id:status._id}, {$set:{started:false}});

一切都按预期工作。

这对我来说似乎有点奇怪,我也找不到任何可以解释它的东西。

1 个答案:

答案 0 :(得分:2)

引用documentation

  

不受信任的代码[=客户端上的js]只能一次修改单个文档,由_id指定。只有在检查了任何适用的允许和拒绝规则后才允许修改。

这是出于安全原因(explainations here)。因此,您需要使用有效的第二段代码。