{
"_id" : ObjectId("5cca927ed5494b0"),
"userName": "1234",
"rcReviews": [{
"userName": "qwert",
"finalReview": "qtrwyw",
"dField": [{
"name": "t2",
"status": "Not Verified",
"reviewComment": "asdfag"
},
{
"status": "Not Verified",
"reviewComment": "asegqrt",
"name": "t13"
},
{
"name": "c452",
"status": "Not Verified",
"reviewComment": "gaeqrtqa "
},
{
"status": "Not Verified",
"reviewComment": "tyqiqooqa",
"name": "c13"
}
]
},
{
"userName": "1517",
"finalReview": "wsywx",
"dField": [{
"status": "Not Verified",
"reviewComment": "aswrrwgqrt",
"name": "t113"
},
{
"name": "c1516",
"status": "Not Verified",
"reviewComment": "gaeqredectqa "
},
]
}
]}我想要一个检查dField数组键是否存在于rcReveiws数组中的查询。如果它存在,那么它已经删除了dField数组,其他内容应该在那里,只应该删除dField数组。
发布于 2020-05-20 09:53:04
您可以使用以下查询。它已经用你提供的数据进行了测试
db.testmongo.update({"rcReviews.dField":{$exists:true}},{$unset:{"rcReviews.$[].dField":""}},{multi:true})更改集合名称以与您的名称匹配。查询检查rcReviews数组中包含rcReviews属性的记录。它更新数组中的所有对象,并使用unset删除dField属性。
https://stackoverflow.com/questions/61909622
复制相似问题