我有一个这样结构的数据库
{
"_id":"",
"array1":[
{
"_id":"",
"array2":[
{
}
]
}
]
}
我尝试通过使用_id和array._id与$pull删除array 2,但是我没有任何成功。
我试过像这样的updateOne,但它不工作
{
"_id":{
"$in":[
id1,
id2
]
}
},
{
"$pull":{
"array1.$.array2":{
"array1._id":{
"$in":[
id3,
id4
]
}
}
}
}
我得到错误“位置操作符没有从查询中找到所需的匹配”。有人知道我该如何处理这个问题吗?
1条答案
按热度按时间tp5buhyn1#
如果要删除数组中的所有元素并保留字段,只需将字段的值设置为空数组(
[]
)。这里有一个方法。
在mongoplayground.net上试试。
如果你想使用
"$pull"
,你可以这样做,但我不期望它是有效的。在mongoplayground.net上试试。