我想根據其 id 更新電子郵件欄位的特定檔案,但我不想完全覆寫電子郵件欄位。相反,我只想在它旁邊添加一個字串(將它與另一個字串連接),即我需要電子郵件的當前值并在它旁邊添加一個字串。
例如,如果檔案中的電子郵件欄位是[email protected],我想將其更新為[email protected]___deleted。
這是我嘗試過的,但它向我顯示了一個錯誤
db.testme.updateOne({_id: ObjectId("626bc5ddd6e2abe315ff8c76")}, {$set: {$concat: {email: ['$email', '___deleted']}} })
MongoServerError: '$concat' 中的美元 ($) 前綴欄位 '$concat' 在更新的替換檔案的背景關系中是不允許的。考慮使用帶有 $replaceWith 的聚合管道。
uj5u.com熱心網友回復:
將更新與聚合管道一起使用。
db.testme.updateOne({
_id: ObjectId("626bc5ddd6e2abe315ff8c76")
},
[
{
$set: {
email: {
$concat: [
"$email",
"___deleted"
]
}
}
}
])
示例 Mongo Playground
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/467800.html
上一篇:WinUI3.0ListView在選擇新添加的專案時崩潰。嘗試讀取或寫入受保護的記憶體
下一篇:MongoDB更新資料
