Di MongoDB db.collection.insertMany()
metode memasukkan beberapa dokumen ke dalam koleksi.
collection
bagian adalah nama koleksi untuk memasukkan dokumen ke dalamnya.
Contoh
Berikut ini contoh penggunaan db.collection.insertMany()
untuk memasukkan beberapa dokumen ke dalam koleksi yang disebut pets
:
db.pets.insertMany([
{ _id: 1, name: "Wag", type: "Dog" },
{ _id: 2, name: "Bark", type: "Dog" },
{ _id: 3, name: "Meow", type: "Cat" }
])
Hasil:
{ "acknowledged" : true, "insertedIds" : [ 1, 2, 3 ] }
db.collection.insertMany()
metode mengembalikan dokumen yang berisi:
- Boolean
acknowledged
sebagaitrue
jika operasi berjalan dengan masalah tulis ataufalse
jika masalah penulisan dinonaktifkan. - Array
_id
nilai untuk setiap dokumen yang berhasil dimasukkan.
Sekarang jika kita menggunakan db.collection.find()
untuk melihat koleksi, kita akan melihat dokumen yang baru ditambahkan.
db.pets.find()
Hasil:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
Dalam hal ini, tiga dokumen kami adalah satu-satunya yang ada dalam koleksi, jadi hanya dokumen-dokumen ini yang dikembalikan.
Namun, jika koleksinya besar, kami dapat menggunakan ID dokumen untuk mempersempit hasilnya menjadi hanya dokumen yang kami minati.
db.pets.find({_id: {$in: [1,2,3]}})
Hasil:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
Bagaimana jika Koleksi Tidak Ada?
Jika koleksi tidak ada, itu dibuat, dan dokumen ditambahkan ke dalamnya.
Jika koleksi sudah ada, maka dokumen cukup ditambahkan ke dalamnya (asalkan _id
nilai tidak bertentangan dengan nilai yang sudah ada).
Saat saya membuat contoh ini, koleksinya tidak ada, jadi operasi penyisipan membuatnya.
_id
Bidang
_id
bidang adalah bidang pengenal unik di MongoDB.
Seperti yang ditunjukkan pada contoh sebelumnya, Anda dapat memberikan _id
Anda sendiri lapangan dalam dokumen. Jika ya, maka nilainya harus unik di dalam koleksi. Ini karena _id
your Anda kolom akan digunakan sebagai pengidentifikasi unik dokumen.
Berikut contoh penyisipan dokumen tanpa memberikan _id
bidang.
db.pets.insertMany([
{ name: "Bruce", type: "Bat" },
{ name: "Sweetie", type: "Honey Badger" }
])
Hasil:
{ "acknowledged" : true, "insertedIds" : [ ObjectId("5fe30ef737b49e0faf1af215"), ObjectId("5fe30ef737b49e0faf1af216") ] }
_id
nilai dokumen dikembalikan. Kita bisa menggunakan ini untuk mencari koleksi hanya untuk dokumen yang kita sisipkan.
Namun dalam hal ini, mari kita lihat keseluruhan koleksinya.
db.pets.find()
Hasil:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : ObjectId("5fe30ef737b49e0faf1af215"), "name" : "Bruce", "type" : "Bat" } { "_id" : ObjectId("5fe30ef737b49e0faf1af216"), "name" : "Sweetie", "type" : "Honey Badger" }
Kami dapat melihat bahwa dua dokumen baru kami termasuk dalam koleksi.
Yang ordered
Parameter
db.collection.insertMany()
metode juga menerima ordered
parameter. Ini adalah parameter boolean dengan nilai default true
.
ordered
parameter menentukan apakah operasi penyisipan harus dipesan atau tidak.
Jika ordered
disetel ke false
, dokumen disisipkan dalam format yang tidak diurutkan dan dapat diurutkan ulang oleh mongod
untuk meningkatkan kinerja.
Dengan sisipan yang dipesan, jika terjadi kesalahan selama penyisipan salah satu dokumen, MongoDB mengembalikan kesalahan tanpa memproses dokumen yang tersisa dalam larik.
Dengan sisipan yang tidak berurutan, jika terjadi kesalahan selama penyisipan salah satu dokumen, MongoDB terus memasukkan dokumen yang tersisa ke dalam larik.
Informasi Lebih Lanjut
db.collection.insertMany()
metode ini juga menerima writeConcern
argumen, yang menjelaskan tingkat pengakuan yang diminta dari MongoDB untuk operasi penulisan.
Lihat dokumentasi MongoDB untuk db.collection.insertMany()
untuk informasi lebih lanjut.