gpt4 book ai didi

mongodb 无法将 $pull/$pullAll 修饰符应用于非数组,如何删除数组元素

转载 作者:IT老高 更新时间:2023-10-28 13:34:05 32 4
gpt4 key购买 nike

我遇到了一个关于 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

谁能帮助我?非常感谢

最佳答案

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

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

关于mongodb 无法将 $pull/$pullAll 修饰符应用于非数组,如何删除数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323422/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com