Arrays 删除MongoDB中数组内的对象
我需要删除数组中所有满足以下条件的对象。我将在这里介绍这些文件和我所做工作的示例Arrays 删除MongoDB中数组内的对象,arrays,json,mongodb,object,Arrays,Json,Mongodb,Object,我需要删除数组中所有满足以下条件的对象。我将在这里介绍这些文件和我所做工作的示例 //document 1 { "_id" : ObjectId("5ec73abebd7e4d618a057350"), "code" : "X20", "title" : "Full stack developer", "location" : "Paris", "date" : ISODate("2020-05-22T02:36:46.272Z"), "candi
//document 1
{
"_id" : ObjectId("5ec73abebd7e4d618a057350"),
"code" : "X20",
"title" : "Full stack developer",
"location" : "Paris",
"date" : ISODate("2020-05-22T02:36:46.272Z"),
"candidates" : [
{
"name" : "David",
"last_name" : "Broncano",
"telephone" : "642025552",
"email" : "david@gmail.com"
},
{
"name" : "Pablo",
"last_name" : "Claros",
"telephone" : "628721784",
"email" : "pablo@gmail.com"
}
]
}
// document 2
{
"_id" : ObjectId("4ec73abebd7e4d618a057350"),
"code" : "X50",
"title" : "Full stack developer",
"location" : "Madrid",
"date" : ISODate("2020-05-22T02:36:46.272Z"),
"candidates" : [
{
"name" : "Maria",
"last_name" : "Mars",
"telephone" : "642024582",
"email" : "dasd@gmail.com"
},
{
"name" : "Pablo",
"last_name" : "Claros",
"telephone" : "628721784",
"email" : "pablo@gmail.com"
}
]
}
所以我需要删除所有位置在马德里的候选人。我已经这样做了,但它删除了字段。是否可以使用$pull或其他方法删除其中的内容
db.offers.update(
{ location : "Madrid"},
{
$unset:{
"candidates":""
} } ,
{
multi : true
}
)
根据我的理解,您只需清除
候选者
数组,并将其维护为候选者:[]
。为此,您可以使用$set
运算符根据您的条件将候选项设置为[]
db.offers.update({location:“Madrid”},{$set:{“候选者”:[]},{multi:true})
您可以根据条件使用删除特定的嵌套文档。是的,但我不知道如何将其放在这里,因为您可以看到条件不在数组中。我不能放$pull:candidates:name:“x”或任何类似的东西,因为它不能满足我的需要。