บทนี้นำเสนอการดำเนินการเป็นชุด (bulkWrite) บนข้อมูลเอกสาร MongoDB โดยใช้ mongo shell ที่นี่ การดำเนินการเป็นชุดไม่เพียงแต่อ้างถึงการอัปเดตเอกสารเป็นชุด ที่กล่าวถึงในบทก่อนหน้า แต่ยังรวมถึงการสนับสนุนในการดำเนินการเขียนเป็นชุด ซึ่งรวมถึงการแทรกเอกสาร อัปเดต และลบที่เพิ่มเติม

ฟังก์ชัน bulkWrite ใช้สำหรับการดำเนินการเป็นชุดใน mongo shell.

Tip: การดำเนินการเป็นชุดมักถูกนำมาใช้ในสถานการณ์ที่ต้องการการซิงโครไหมหลายข้อมูล

การดำเนินการเขียนที่รองรับโดยฟังก์ชัน bulkWrite

การดำเนินการเป็นชุดรองรับการเขียนดังต่อไปนี้:

  • insertOne - แทรกเอกสาร
  • updateOne - อัปเดตเอกสาร
  • updateMany - อัปเดตชุดของเอกสาร
  • replaceOne - แทนที่เอกสาร
  • deleteOne - ลบเอกสาร
  • deleteMany - ลบชุดของเอกสาร

รูปแบบ Syntax

db.collection.bulkWrite(
   [ <operation 1>, <operation 2>, ... ],
)

คำอธิบาย:

  • การดำเนินการ - แทนที่การกำหนดการดำเนินการเขียน
  • bulkWrite รับอาร์เรย์ของการดำเนินการเขียน

ตัวอย่าง

นี่คือตัวอย่างอันทรงครองที่แสดงการดำเนินการเป็นชุดของชุดจากการดำเนินการเขียนเอกสาร

db.inventory.bulkWrite(
      [
	     // แทรกเอกสาร
         { insertOne :
            {
			// เนื้อหาเอกสาร
               "document" :
               {
                  "_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4
               }
            }
         },
         { insertOne :
            {
               "document" :
               {
                  "_id" : 5, "char" : "Taeln", "class" : "fighter", "lvl" : 3
               }
            }
         },
		 // อัปเดตเอกสาร, updateMany คล้ายกับการอัปเดตชุดของเอกสาร
         { updateOne :
            {
			   // เงื่อนไขการอัปเดต
               "filter" : { "char" : "Eldon" },
			   // เนื้อหาการอัปเดต
               "update" : { $set : { "status" : "บาดเจ็บร้าย" } }
            }
         },
		 // ลบเอกสาร, deleteMany คล้ายกับการลบหลายเอกสาร
         { deleteOne :
		    // เงื่อนไขการลบ
            { "filter" : { "char" : "Brisbane" } }
         },
		 // แทนที่เอกสาร
         { replaceOne :
            {
			    // เงื่อนไขการแทนที่
               "filter" : { "char" : "Meldane" },
			   // เนื้อหาการแทนที่
               "replacement" : { "char" : "Tanys", "class" : "oracle", "lvl" : 4 }
            }
         }
      ]
   );