我有一個集合,其中的檔案看起來像這樣:
_id : 21353456,
product : "xy",
text : "asdf",
reviews : [
{
username : "User1",
userID: 12
text : "hi",
},
{
username : "User2",
userID: 123
text : "hi1",
}
]
}
我想從此陣列中的物件中洗掉用戶名中的欄位。我嘗試了這個 db.collection.update({}, {$unset: {"reviews.username": 1}}, {multi: true}) 我甚至嘗試了 updateMany 并且它只是匹配并確認了。
uj5u.com熱心網友回復:
嘗試使用位置識別符號并執行以下操作:
db.collection.update({}, {$unset: {"reviews.$[].username":true}}, {multi:true})
我個人更喜歡使用以下方法:
db.collection.update({"reviews.username": {$exists: true}}, {$unset: {"reviews.$.username":true}}, {multi:true})
因為有時您應該在洗掉之前檢查它是否存在(這樣您就不會收到任何錯誤)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450663.html
