I have this document
{
"_id" : ObjectId("56877d72572434211f8c579e"),
"hola" : {
"nombres" : [
"andres",
"jose"
]
},
"id" : "8888",
"aloh" : [
{
"saludo" : [
{
"qwe" : "rty",
"sad" : "fet"
},
{
"dvo" : "rak",
"foo" : "foo"
}
]
},
{
"despedida" : "bye"
}
]
}
And I want to delete just the object that contains
{
"qwe" : "rty",
"sad" : "fet"
}
I'm trying using $pull and $elemMatch like this:
db.collection.update(
{ "id":"8888" },
{ "$pull": { "aloh": { "saludo": { "$elemMatch": { "qwe": "rty" } } } } }
)
But it eliminates all the parent array and I want it to output something like this:
{
"_id" : ObjectId("56877d72572434211f8c579e"),
"hola" : {
"nombres" : [
"andres",
"jose"
]
},
"id" : "8888",
"aloh" : [
{
"saludo" : [
{
"dvo" : "rak",
"foo" : "foo"
}
]
},
{
"despedida" : "bye"
}
]
}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…