Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

อัปเดตชุดเอกสารจากรายการคู่คีย์-ค่า (Key-Value Pairs) ใน 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" }

คำสั่งอัปเดตชุดเอกสารจากรายการคู่คีย์-ค่า โดยใช้ Bulk Operations แบบ Unordered:

> 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" : [ ] 
})

แสดงเอกสารทั้งหมดอีกครั้งหลังอัปเดต:

> db.demo227.find();

ผลลัพธ์หลังอัปเดต:

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