我有这个文件
{
"_id" : ObjectId("56877d72572434211f8c579e"),
"hola" : {
"nombres" : [
"andres",
"jose"
]
},
"id" : "8888",
"aloh" : [
{
"saludo" : [
{
"qwe" : "rty",
"sad" : "fet"
},
{
"dvo" : "rak",
"foo" : "foo"
}
]
},
{
"despedida" : "bye"
}
]
}
我想删除包含
的对象{
"qwe" : "rty",
"sad" : "fet"
}
我尝试使用$ pull和$ elemMatch这样:
db.collection.update(
{ "id":"8888" },
{ "$pull": { "aloh": { "saludo": { "$elemMatch": { "qwe": "rty" } } } } }
)
但它消除了所有父数组,我希望它输出这样的东西:
{
"_id" : ObjectId("56877d72572434211f8c579e"),
"hola" : {
"nombres" : [
"andres",
"jose"
]
},
"id" : "8888",
"aloh" : [
{
"saludo" : [
{
"dvo" : "rak",
"foo" : "foo"
}
]
},
{
"despedida" : "bye"
}
]
}
答案 0 :(得分:0)
以下查询将有效
db.collection.update(
{ "id":"8888" },
{
$pull: {
"aloh.0.saludo": {
"qwe": "rty",
"sad": "fet"
}
}
});
答案 1 :(得分:0)