簡體   English   中英

一次更新MongoDB中的多個文檔

[英]Update multiple documents in MongoDB at once

目前我使用 MongoDB 4.0。 我可以像這樣一次插入多個文檔:

db.books.insertMany([
  {
    "_id" : 1,
    "item" : "TBD",
    "stock" : 0,
    "info" : { "publisher" : "1111", "pages" : 430 },
    "tags" : [ "technology", "computer" ],
    "ratings" : [ { "by" : "ijk", "rating" : 4 }, { "by" : "lmn", "rating" : 5 } ],
    "reorder" : false
   },
   {
    "_id" : 2,
    "item" : "XYZ123",
    "stock" : 15,
    "info" : { "publisher" : "5555", "pages" : 150 },
    "tags" : [ ],
    "ratings" : [ { "by" : "xyz", "rating" : 5 } ],
    "reorder" : false
   }
]);

問題是當我想將第一個項目的庫存更新為 5 並將第二個項目的庫存更新為 10 時,我可以像在insertMany那樣一次更新多個文檔嗎? 如果是,如何做到這一點?

您應該嘗試在 mongodb 中執行bulkWrite操作

try {
   db.books.bulkWrite(
      [

         { updateOne :
            {
               "filter" : { "_id" : 1 },
               "update" : { $set : { "stock " : 5} }
            }
         },
         { updateOne :
            {
               "filter" : { "_id" : 2 },
               "update" : { $set : { "stock " : 10} }
            }
         }
      ]
   );
}
catch (e) {
   print(e);
}

https://docs.mongodb.com/manual/core/bulk-write-operations/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM