Saat Anda membuat database di MongoDB, database Anda pada dasarnya adalah wadah kosong tempat Anda dapat menambahkan satu atau lebih koleksi.
Koleksi dianalogikan dengan tabel dalam database relasional.
Dalam database relasional, Anda dapat menggunakan CREATE TABLE
untuk membuat setiap tabel yang Anda inginkan dalam database.
Tapi MongoDB bukan database relasional, dan menyimpan datanya sebagai dokumen. Setiap dokumen disimpan dalam koleksi.
Artikel ini menunjukkan cara membuat koleksi di MongoDB.
Dua Opsi
Anda memiliki dua opsi untuk membuat koleksi di MongoDB:
- Tersirat
- Eksplisit
Berikut ini contoh masing-masing.
Buat Koleksi – Secara Implisit
Anda dapat membuat koleksi secara implisit hanya dengan menambahkan dokumen ke koleksi yang tidak ada. Saat Anda melakukan ini, koleksi akan dibuat jika belum ada.
Berikut ini contoh pembuatan koleksi secara implisit:
db.pets.insert({ name: "Fetch" })
Itu membuat koleksi yang disebut pets
, dan menyisipkan dokumen ke dalamnya.
Sebenarnya, itu hanya membuat koleksi jika belum ada. Jika sudah ada, maka cukup memasukkan dokumen ke dalam koleksi yang ada dari nama itu.
Pada dasarnya, sintaksnya seperti ini:
db.<collection>.insert()
Dimana <collection>
adalah nama koleksinya.
Buat Koleksi – Secara Eksplisit
Anda juga dapat membuat koleksi secara eksplisit dengan db.createCollection()
metode. Metode ini memungkinkan Anda untuk menentukan berbagai opsi, seperti mengatur ukuran maksimum atau aturan validasi dokumentasi.
Ini mirip dengan CREATE TABLE
pernyataan dalam SQL. Karena itu, MongoDB tidak mengharuskan Anda menentukan kolom, tipe data, dll seperti yang perlu Anda tentukan dengan CREATE TABLE
pernyataan saat menggunakan database relasional.
Berikut ini contoh penggunaan db.createCollection()
metode untuk membuat koleksi:
db.createCollection("employees")
Hasil:
{ "ok" : 1 }
Dalam contoh ini, saya tidak menentukan opsi apa pun. Oleh karena itu, tidak ada manfaat nyata dari menciptakannya seperti ayat ini menciptakannya secara implisit (seperti pada contoh sebelumnya).
Namun, jika Anda ingin menentukan opsi untuk koleksi Anda, maka membuatnya secara eksplisit adalah cara yang harus dilakukan.
Berikut ini contoh menentukan beberapa opsi saat membuat koleksi:
db.createCollection(
"products",
{
capped : true,
size : 7500500,
max : 7000
}
)
Hasil:
{ "ok" : 1 }
Berikut penjelasan opsi yang saya berikan dalam contoh ini:
- Yang
capped
argumen memungkinkan Anda untuk menentukan apakah ukuran koleksi harus dibatasi atau tidak (yaitu tidak diizinkan untuk tumbuh melampaui ukuran tertentu). Jika Anda menentukantrue
, Anda juga harus mengatur ukuran maksimum disize
lapangan. size
argumen menetapkan ukuran maksimum dalam byte untuk koleksi yang dibatasi. Setelah koleksi yang dibatasi mencapai ukuran maksimumnya, MongoDB menghapus dokumen lama untuk memberi ruang bagi dokumen baru.size
kolom wajib diisi untuk koleksi yang dibatasi dan diabaikan untuk koleksi lainnya.max
argumen memungkinkan Anda untuk menentukan jumlah maksimum dokumen yang diizinkan dalam koleksi yang dibatasi. Jika koleksi yang dibatasi mencapaisize
batas sebelum mencapai jumlah maksimum dokumen, MongoDB menghapus dokumen lama. Oleh karena itu, pastikan bahwasize
argumen cukup untuk memuat jumlah dokumen yang ditentukan denganmax
argumen.
Ini adalah tiga dari berbagai opsi yang dapat Anda tentukan dengan db.createCollection()
metode.
Sintaks dan Detail Lainnya
Sintaks lengkapnya (pada tulisan ini) terlihat seperti ini:
db.createCollection( <name>,
{
capped: <boolean>,
autoIndexId: <boolean>,
size: <number>,
max: <number>,
storageEngine: <document>,
validator: <document>,
validationLevel: <string>,
validationAction: <string>,
indexOptionDefaults: <document>,
viewOn: <string>,
pipeline: <pipeline>,
collation: <document>,
writeConcern: <document>
}
)
Lihat db.createCollection()
dari dokumentasi resmi MongoDB untuk penjelasan mendetail tentang setiap opsi.