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

วิธีที่เร็วที่สุดในการอัปเดตเอกสารทั้งหมด (ทุกช่อง) ใน MongoDB คืออะไร


วิธีที่เร็วที่สุดคือการใช้ replaceOne() ใน MongoDB ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> db.demo431.insertOne({"Name":"Chris","Age":32});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e770ba6bbc41e36cc3cae89")
}
> db.demo431.insertOne({"Name":"David","Age":31});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e770bacbbc41e36cc3cae8a")
}
> db.demo431.insertOne({"Name":"John","Age":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e770bb3bbc41e36cc3cae8b")
}
> db.demo431.insertOne({"Name":"Bob","Age":22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e770bb8bbc41e36cc3cae8c")
}

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo431.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e770ba6bbc41e36cc3cae89"), "Name" : "Chris", "Age" : 32 }
{ "_id" : ObjectId("5e770bacbbc41e36cc3cae8a"), "Name" : "David", "Age" : 31 }
{ "_id" : ObjectId("5e770bb3bbc41e36cc3cae8b"), "Name" : "John", "Age" : 24 }
{ "_id" : ObjectId("5e770bb8bbc41e36cc3cae8c"), "Name" : "Bob", "Age" : 22 }

ต่อไปนี้เป็นแบบสอบถามเพื่ออัปเดตเอกสารทั้งหมด (ทุกช่อง) ใน MongoDB -

> db.demo431.replaceOne(
...    { "Name" : "John" },
...    { "Name" : "Robert", "Age" :45 }
... );
{ "acknowledged" : true, "matchedCount" : 1, "modifiedCount" : 1 }

แสดงเอกสารทั้งหมดจากคอลเล็กชันโดยใช้วิธี find() -

> db.demo431.find();

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

{ "_id" : ObjectId("5e770ba6bbc41e36cc3cae89"), "Name" : "Chris", "Age" : 32 }
{ "_id" : ObjectId("5e770bacbbc41e36cc3cae8a"), "Name" : "David", "Age" : 31 }
{ "_id" : ObjectId("5e770bb3bbc41e36cc3cae8b"), "Name" : "Robert", "Age" : 45 }
{ "_id" : ObjectId("5e770bb8bbc41e36cc3cae8c"), "Name" : "Bob", "Age" : 22 }