這不是我要找的: Update MongoDB field using value of another field
如果條件評估為真,我正在嘗試將一個欄位的內容復制到另一個欄位(恰好是一個陣列)中。
初始檔案狀態:
{
_id: 1234
currentNumber: 5
magicNumbers: [3, 7, 9, 11, 15]
}
我想將內容復制currentNumber到magicNumbersif currentNumber % 2 == 1。這在最新的 MongoDB 版本中可能嗎?我正在使用 Nodejs 驅動程式。
最終檔案狀態:
{
_id: 1234
currentNumber: 5
magicNumbers: [3, 7, 9, 11, 15, 5]
}
我想一次性完成,以節省對資料庫的訪問。
uj5u.com熱心網友回復:
db.collection.update({
$expr: {
$eq: [ { $mod: [ "$currentNumber", 2 ] }, 1 ]
}
},
[
{
$set: {
magicNumbers: {
$concatArrays: [ "$magicNumbers", [ "$currentNumber" ] ]
}
}
}
],
{
"multi": true
})
mongoplayground
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/430453.html
