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

แบบสอบถาม MongoDB เพื่อเพิ่มเอกสารหลายฉบับ


ในการดำเนินการเขียนหลายรายการ ให้ใช้ bulkWrite() ให้เราสร้างค่ารายการอาร์เรย์ ต่อไปนี้เป็นแบบสอบถาม -

> const arrayList = [
...    {"Value1":100, "Value2":200, "Name": "John"},
...    {"Value1":100, "Value2":200, "Name": "Bob"}
... ];
> let op1 = [];
> arrayList.forEach(({ Value1, Value2, Name }) => {
...    op1.push({
...       "updateOne": {
...          "filter": { Name},
...          "update": { "$set": { Value1, Value2, Name } },
...          "upsert": true
...       }
...    })
... });
> db.demo397.bulkWrite(op1);
{
   "acknowledged" : true,
   "deletedCount" : 0,
   "insertedCount" : 0,
   "matchedCount" : 0,
   "upsertedCount" : 2,
   "insertedIds" : {
   },
   "upsertedIds" : {
      "0" : ObjectId("5e5e8c07f995e1718151981c"),
      "1" : ObjectId("5e5e8c07f995e1718151981d")
   }
}

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

> db.demo397.find();

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

{ "_id" : ObjectId("5e5e8c07f995e1718151981c"), "Name" : "John", "Value1" : 100, "Value2" : 200 }
{ "_id" : ObjectId("5e5e8c07f995e1718151981d"), "Name" : "Bob", "Value1" : 100, "Value2" : 200 }