我遇到了关于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
谁可以帮助我?非常感谢你答案 0 :(得分:9)
您的$pull
语法已关闭,应为:
db.tt.update({'comments.name': '2'}, {$pull: {comments: {name: '2'}}})