從 MongoDB 中的一個鍵值對列表更新一組文件


讓我們建立一個包含文件的集合 -

> db.demo227.insertOne({"_id":"101","Name":"Chris"});
{ "acknowledged" : true, "insertedId" : "101" }
> db.demo227.insertOne({"_id":"102","Name":"Bob"});
{ "acknowledged" : true, "insertedId" : "102" }

藉助 find() 方法顯示集合中的所有文件 -

> db.demo227.find();

這將產生以下輸出 -

{ "_id" : "101", "Name" : "Chris" }
{ "_id" : "102", "Name" : "Bob" }

以下是根據鍵值對列表更新一組文件的查詢 -

> var bulkUpdateValue = [{"_id": "101", "Name": "Robert"},
...   {"_id": "102", "Name": "Sam"}
...];
> var bulkUpdate = db.demo227.initializeUnorderedBulkOp();
> var updateCounter= undefined;
> for (var i = 0; i < bulkUpdateValue.length; i++){
...   updateCounter = bulkUpdateValue[i];
...   bulkUpdate.find( {_id: updateCounter._id} ).update( {$set: {Name: updateCounter.Name}} );
... }
> bulkUpdate.execute();
BulkWriteResult({
   "writeErrors" : [ ],
   "writeConcernErrors" : [ ],
   "nInserted" : 0,
   "nUpserted" : 0,
   "nMatched" : 2,
   "nModified" : 2,
   "nRemoved" : 0,
   "upserted" : [ ]
})

藉助 find() 方法顯示集合中的所有文件 -

> db.demo227.find();

這將產生以下輸出 -

{ "_id" : "101", "Name" : "Robert" }
{ "_id" : "102", "Name" : "Sam" }

更新於: 2020-03-30

413 次檢視

開啟你的 職業生涯

完成課程獲得認證

開始
Advertisement