我想在單個更新查詢中執行以下兩個更新。
// delete the user with (requestID) from friends
await User.updateOne({
_id: id,
}, {
$pull: { friends: requestID }
})
// delete the user with (id) from friends
await User.updateOne({
_id: requestID,
}, {
$pull: { friends: id }
})
我希望它是這樣的:
updateMany({
// delete the user with (requestID) from friends
// delete the user with (id) from friends
})
uj5u.com熱心網友回復:
您可以為此使用 MongoDB 的 bulkWrite 方法 - bulkWrite 檔案
await Users.bulkWrite( [
{ updateOne :
{
"filter": {_id: id},
"update": {"$pull": {"friends": requestId}}
}
},
{ updateOne :
{
"filter": {_id: requestId},
"update": {"$pull": {"friends": id}}
}
}
] )
uj5u.com熱心網友回復:
另外一個選擇:
db.collection.update({},
{
$pull: {
friends: {
$or: [
{
id: 1
},
{
requestID: 4
}
]
}
}
},
{
multi: true
})
解釋:
$pull 請求的不同用戶加入所有條件 $or
操場
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/450006.html
