Bab ini memperkenalkan operasi batch (bulkWrite) pada data dokumen MongoDB menggunakan mongo shell. Di sini, operasi batch tidak hanya merujuk pada pembaruan batch dokumen yang disebutkan dalam bab-bab sebelumnya, tetapi juga mencakup dukungan untuk melakukan sejumlah operasi penulisan, termasuk penyisipan dokumen, pembaruan, dan penghapusan.
Fungsi bulkWrite digunakan untuk operasi batch dalam mongo shell.
Tip: Operasi batch sering digunakan dalam skenario yang memerlukan sinkronisasi data batch.
Operasi penulisan yang didukung oleh fungsi bulkWrite
Operasi batch mendukung kombinasi operasi penulisan berikut:
- insertOne - Menyisipkan dokumen
- updateOne - Memperbarui dokumen
- updateMany - Memperbarui sekelompok dokumen
- replaceOne - Mengganti dokumen
- deleteOne - Menghapus dokumen
- deleteMany - Menghapus sekelompok dokumen
Format sintaks
db.collection.bulkWrite(
[ <operasi 1>, <operasi 2>, ... ],
)
Penjelasan:
- operasi - Mewakili konfigurasi operasi penulisan
- bulkWrite menerima array dari operasi penulisan.
Contoh
Berikut adalah contoh komprehensif yang menunjukkan eksekusi batch dari sekelompok operasi penulisan dokumen.
db.inventory.bulkWrite(
[
// Menyisipkan dokumen
{ insertOne :
{
// Konten dokumen
"document" :
{
"_id" : 4, "char" : "Dithras", "class" : "barbarian", "lvl" : 4
}
}
},
{ insertOne :
{
"document" :
{
"_id" : 5, "char" : "Taeln", "class" : "fighter", "lvl" : 3
}
}
},
// Memperbarui dokumen, updateMany serupa untuk memperbarui sekelompok dokumen
{ updateOne :
{
// Kondisi pembaruan
"filter" : { "char" : "Eldon" },
// Konten pembaruan
"update" : { $set : { "status" : "Cedera Kritis" } }
}
},
// Menghapus dokumen, deleteMany serupa untuk menghapus beberapa dokumen
{ deleteOne :
// Kondisi penghapusan
{ "filter" : { "char" : "Brisbane" } }
},
// Mengganti dokumen
{ replaceOne :
{
// Kondisi penggantian
"filter" : { "char" : "Meldane" },
// Konten penggantian
"replacement" : { "char" : "Tanys", "class" : "oracle", "lvl" : 4 }
}
}
]
);