7

我遇到了一个关于 mongodb 的问题。

db.tt.find()
{ "_id" : ObjectId("513c971be4b1f9d71bc8c769"), 
  "name" : "a", 
  "comments" : [ { "name" : "2" }, { "name" : "3" } ] 
}

上面是一个测试文件。

我想提取 comments.name = 2

我做

db.tt.update({'comments.name':'2'},{'$pull':{'comments.$.name':'2'}});

但控制台打印这些消息:

无法将 $pull/$pullAll 修饰符应用于非数组

我的 mongodb 版本是 2.0.6

谁能帮我?非常感谢你

4

1 回答 1

12

你的$pull语法是关闭的,它应该是:

db.tt.update({'comments.name': '2'}, {$pull: {comments: {name: '2'}}})
于 2013-03-10T15:17:02.513 回答