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.