gpt4 book ai didi

arrays - MongoDB - 从数组中提取多个对象

转载 作者:IT老高 更新时间:2023-10-28 13:26:03 25 4
gpt4 key购买 nike

您好,我正在尝试从如下所示的数组中删除多个对象。

{
"_id" : ObjectId("5a7da1bda21d5f3e8cf005b3"),
"owner" : "1",
"group_name" : "PAASCU Board",
"group_members" : [
{
"faculty_name" : "Cheska Dela Rosa",
"faculty_number" : 2,
"_id" : ObjectId("5a7da1bda21d5f3e8cf005b5")
},
{
"faculty_name" : "Earl Sempio",
"faculty_number" : 7323,
"_id" : ObjectId("5a7da1bda21d5f3e8cf005b4")
},
{
"faculty_number" : 203,
"faculty_name" : "Sample",
"_id" : ObjectId("5a7dbf7952bd150a94d83958")
},
{
"faculty_number" : 8025,
"faculty_name" : "Sample Postman",
"_id" : ObjectId("5a7dc64a1cf5dd3d50167d53")
}
],
"__v" : 0 }

当我使用 $pull 删除单个对象时,它可以工作。使用此代码。

db.getCollection('groups').update({_id: ObjectId("5a7da1bda21d5f3e8cf005b3")}, {$pull: {"group_members": {"faculty_number":8025}}})

但是,如果我想删除具有不同 faculty_number 的多个对象怎么办?我尝试使用 $each 方法,就像在数组中添加多个对象一样,但效果不佳。

最佳答案

使用 $in 运算符传递教师值列表以从嵌入数组中删除文档。更多 here

试试

db.groups.update(
{"_id": ObjectId("5a7da1bda21d5f3e8cf005b3")},
{"$pull":{"group_members":{"faculty_number":{$in:[8025,7323]}}}}
)

关于arrays - MongoDB - 从数组中提取多个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48709923/

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