MongoDB中的更新子文档在shell中工作,但在Meteor应用程序中不工作

MongoDB中的更新子文档在shell中工作,但在Meteor应用程序中不工作,mongodb,meteor,nosql,Mongodb,Meteor,Nosql,我有这样的收藏 { _id: "qex6zPLgigq4KGpFP", active: true, name: "event name", questions: [{ _id: "cff4cc7f1ae67282f1ea142b", createdBy: "izRFAkhxgemihkRMF", likes: 2 }, { _id: "2cf23241ca456703f50a9ce4",

我有这样的收藏

{
    _id: "qex6zPLgigq4KGpFP",
    active: true,
    name: "event name",
    questions: [{
        _id: "cff4cc7f1ae67282f1ea142b",
        createdBy: "izRFAkhxgemihkRMF",
        likes: 2
    }, {
        _id: "2cf23241ca456703f50a9ce4",
        createdBy: "izRFAkhxgemihkRMF",
        likes: 0
    }]
}
我在Meteor应用程序中初始化我的收藏,如下所示:

  Events = new Mongo.Collection("events");
现在我想从'questions'数组中删除一个子文档,它在shell中使用

db.events.update({_id:"qex6zPLgigq4KGpFP"}, {$pull: {'questions': {_id:"cff4cc7f1ae67282f1ea142b"}}})
但不是在流星中呼唤

Events.update({_id:"qex6zPLgigq4KGpFP"}, {$pull: {'questions': {_id:"cff4cc7f1ae67282f1ea142b"}}})
返回值始终为“1”,但文档仍然存在。
这令人困惑。有什么想法吗?

Meteor的Mongo并没有完全复制实际Mongo的所有功能。也许这会有帮助看起来您必须提取整个对象。@greyno似乎表明需要与文档完全匹配,但是我尝试用meteor 1.1.0.2复制您的示例,它从列表中提取了正确的问题。你用的是什么版本的流星?您如何测试
事件
文档未受影响?@greyno这是在客户端还是在服务器上?在服务器上,它直接发送到mongo。在客户端上,它使用meteorish mongo:minimongo替代。@David我也使用meteor 1.1.0.2。。我在测试时注意到问题仍然列在我的页面上。通过输入shell命令,它将消失。@Akshat它在服务器上,但在客户端也不起作用。