I'm working on mongo, in this time in need to remove a specific element from array nested in another one, the structure is like the following:
{
"_id" : ObjectId("5e616314946b6d3ac4ed8252"),
"uid" : "5db069478556622b4a0adca5",
"areas" : [
{
"name" : "mexico",
"elements" : [
"23452345",
"24454675"
],
},
{
"name" : "usa",
"elemets" : [
"123123123",
"1234334"
],
}
]
}
So I need a query that lets me remove any element in "elements" property.
I tried with this query but I couldn't reach it.
db.areas.update(
{ },
{ $pull:
{ areas: {
$elemMatch: {
elements: { $eq : "123123123" }
}
}
}
},
{ multi:false }
);
This just said
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })
areas:by"areas.$[]:"elements: { $eq : "123123123" }you can shortcut toelements: "123123123"elementsis different for thename: "usa"; it sayselemets.