Bab ini memperkenalkan cara memasukkan data dokumen ke MongoDB menggunakan mongo shell.

Memasukkan Satu Dokumen

Metode db.collection.insertOne() digunakan untuk memasukkan satu dokumen ke dalam sebuah koleksi.

Jika dokumen tidak menentukan bidang _id, MongoDB akan secara otomatis menghasilkan ObjectId unik untuk bidang _id.

Catatan: ObjectId adalah pembangkit ID unik bawaan dalam MongoDB yang digunakan untuk pembangkitan ID.

Contoh: Masukkan sebuah dokumen ke dalam koleksi inventory:

db.inventory.insertOne(
   { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)

Hasil:

{
	"acknowledged" : true,
	"insertedId" : ObjectId("609bf11dfc901345cafc438a")
}

Jika penyisipan berhasil, akan mengembalikan kunci utama. Bidang insertedId adalah ID unik yang dibuat secara otomatis oleh MongoDB. Jika koleksi inventory tidak ada, maka secara otomatis akan dibuat.

Query data dokumen yang telah dimasukkan:

> db.inventory.find( { item: "canvas" } )
{ "_id" : ObjectId("609bf11dfc901345cafc438a"), "item" : "canvas", "qty" : 100, "tags" : [ "cotton" ], "size" : { "h" : 28, "w" : 35.5, "uom" : "cm" } }

Dengan menggunakan metode find, masukkan kondisi query untuk menemukan data dokumen dengan item adalah "canvas".

Memasukkan Beberapa Dokumen

Metode db.collection.insertMany() dapat memasukkan beberapa dokumen ke dalam sebuah koleksi.

Contoh: Masukkan tiga data dokumen dengan melewatkan array ke metode insertMany:

db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

Nilai kembalian:

{
	"acknowledged" : true,
	"insertedIds" : [
		ObjectId("609bf30ffc901345cafc438b"),
		ObjectId("609bf30ffc901345cafc438c"),
		ObjectId("609bf30ffc901345cafc438d")
	]
}

Mengembalikan ID dari tiga dokumen yang baru dimasukkan.

Perilaku Penyisipan

Pembuatan Koleksi

Di MongoDB, tidak perlu membuat sebuah koleksi terlebih dahulu. Ketika memasukkan data untuk pertama kalinya, jika koleksi tidak ada, maka akan dibuat secara otomatis.

Bidang _id

Di MongoDB, setiap dokumen yang disimpan dalam sebuah koleksi memiliki bidang _id unik yang berperan sebagai kunci utama. Jika dokumen yang dimasukkan mengabaikan bidang _id, driver MongoDB secara otomatis akan menghasilkan ObjectId untuk bidang _id.

Atomisitas

Semua operasi tulis di MongoDB adalah operasi atomik pada tingkat dokumen tunggal.