[英]How to increment value in multiple fields and multiple documents in mongodb in one query
我有一個代表課程的 object
{
"_id": "62ad8ac4a5523541d78df217",
"lessonID": "35d02fc5-94dd-48e7-a315-7dcea6ac6806",
"teachers": [
"629232d2fc8fa8646b21cf3d"
],
"students": [
"62924d0a6055ad4d2533577b"
],
"subject": "English",
"start": 1655515800000,
"end": 1655517600000,
"roomNumber": "3",
"venue": "Elmwood Park",
"attendance": [
"62924d0a6055ad4d2533577b"
],
"paid": false,
"__v": 0
},
我想要做的是找到所有具有相同“lessonID”的文檔並更新“開始”和“結束”(時間戳)。
我想在每個文檔上增加或減少一定數量的值
我已經坐了一段時間了,我想過這樣做:
這聽起來效率極低(如果任何步驟失敗,它會導致數據重復或丟失)......必須有更好的方法來做到這一點。
正如@Gibbs 建議的那樣,只需使用$inc
:
db.collection.update({
"lessonID": "35d02fc5-94dd-48e7-a315-7dcea6ac6806"
},
{
$inc: {start: amountStartInc, end: amountEndInc}
})
在playground 示例中查看它是如何工作的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.