gpt4 book ai didi

具有多个参数的 MongoDB pullAll 对象

转载 作者:可可西里 更新时间:2023-11-01 09:46:04 30 4
gpt4 key购买 nike

我只想使用 pullAll 从我的 mongoDB 数组中删除几个对象

db.collection.update({'_id': ObjectId(".....")}, { $pullAll : { 'notifications' : [{'type' : type}, {'id': id}]} })

为什么这不起作用?正确的语法是什么?

更新:

文档是:

{
"_id" : ObjectId("......"),
"notifications" : [ { "type" : "aaa",
"id" : "123" },
{ "type" : "bbb",
"id" : "123" },
{ "type" : "ccc",
"id" : "234" }]
}

最佳答案

您的问题可能出在以下两个地方之一:

首先你的更新有语法问题:

db.collection.update({'_id': ObjectId(".....")}, 
{ $pullAll :
{ 'notifications' : [{'type' : type}, {'id': id}]
}
}
)

应该是:

db.collection.update({'_id': ObjectId(".....")}, 
{ $pullAll :
{ 'notifications' : [{'type' : type, 'id': id}]
}
}
)

请注意,我删除了 }、{ 并将类型和 ID 连接到一个 JSON 子文档中。

另一个问题是您的数组元素似乎有 id 值,这些值是“123”形式的字符串 - 您确定要将字符串传递给更新语句吗?字符串“123”不等于整数 123。

关于具有多个参数的 MongoDB pullAll 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13458928/

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