我有以下格式的文件,
{
"entities":[
{
"info":{
"configId":[
"1234",
"3213"
]
}
},
{
"info":{
"configId":[
"73683",
"38297",
"1234"
]
}
},
{
"info":{
"configId":["32683" ]
}
}
]
}
如何在一个更新命令中从所有 configId 数组中删除“1234”?
我正在尝试以下,但它只更新第一个。
db.asset.update({
"entities.info.configId": "1234"
},
{
$pull:{
"entities.$.info.configId":{
$in:[ "1234" ]
}
}
});
谢谢。
编辑:
这个查询终于为我工作了:
db.asset.update({
"entities.info.configId": "1234"
},
{
$pull:{
"entities.$[].info.configId":{
$in:[ "1234" ]
}
}
});