Anda dapat membuat koleksi menggunakan createCollection()
metode, atau dengan cepat saat Anda memasukkan dokumen.
Koleksi seperti wadah untuk dokumen terkait. Mereka biasanya digunakan untuk mengelompokkan dokumen dengan topik yang sama. Misalnya, Anda dapat memiliki nama koleksi seperti
pengguna
, pageviews
, posts
, comments
, dll.
Saat kami membuat database kami, kami membuat koleksi yang disebut artis . Koleksi ini akan berisi dokumen dengan detail artis, seperti nama artis, album yang mereka rilis, dll.
Dua cara untuk Membuat Koleksi
Berikut adalah dua cara membuat koleksi:
- Anda dapat membuat koleksi dengan cepat saat menyisipkan dokumen (menggunakan
insert()
metode. - Anda juga dapat membuat koleksi secara eksplisit, menggunakan
createCollection()
metode.
On the Fly
Saat Anda menggunakan insert()
metode untuk menyisipkan dokumen, Anda menentukan koleksi tempat dokumen akan dimasukkan. Jika koleksi belum ada, koleksi akan dibuat.
Ini adalah metode yang kami gunakan sebelumnya ketika kami membuat artists
koleksi saat memasukkan dokumen.
Berikut kode yang kami gunakan:
db.artists.insert({ artistname: "The Tea Party" })
Dalam hal ini, artists
koleksi sebelumnya tidak ada sehingga dibuat untuk kita.
Menggunakan createCollection()
Metode
Anda juga dapat membuat koleksi menggunakan createCollection()
metode. Ini memungkinkan Anda membuat koleksi tanpa memasukkan dokumen.
Berikut ini contoh penggunaan createCollection()
metode:
db.createCollection("producers")
Dengan Opsi
Anda juga dapat menentukan opsi untuk koleksi dengan menggunakan db.createCollection(name, options)
sintaks.
Ini contohnya:
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
Kolom yang tersedia pada MongoDB versi 3.2 adalah sebagai berikut.
Field | Ketik | Deskripsi | ||||||
---|---|---|---|---|---|---|---|---|
capped | boolean | Bila disetel ke true , membuat koleksi yang dibatasi. Koleksi yang dibatasi adalah koleksi berukuran tetap yang secara otomatis menimpa entri terlamanya saat mencapai ukuran maksimumnya. Jika Anda menentukan true , Anda juga harus mengatur ukuran maksimum di size lapangan. | ||||||
autoIndexId | boolean | Tentukan false untuk menonaktifkan pembuatan otomatis indeks pada _id bidang. Mulai MongoDB versi 3.2, bidang ini tidak digunakan lagi, dan akan dihapus di versi 3.4. | ||||||
size | angka | Ukuran maksimum dalam byte untuk koleksi yang dibatasi. Hanya digunakan dengan koleksi yang dibatasi (diabaikan di koleksi lain). | ||||||
max | angka | Jumlah maksimum dokumen yang diperbolehkan dalam koleksi yang dibatasi. Perhatikan bahwa size bidang lebih diutamakan daripada max bidang. Jika koleksi mencapai batas ukurannya sebelum batas dokumen tercapai, MongoDB tetap akan menghapus dokumen. | ||||||
usePowerOf2Sizes | boolean | Hanya tersedia di mesin penyimpanan MMAPv1. Bidang ini tidak digunakan lagi sejak versi 3.0. | ||||||
noPadding | boolean | Hanya tersedia di mesin penyimpanan MMAPv1. Menonaktifkan kekuatan alokasi 2 ukuran untuk koleksi. Default ke false . | ||||||
storageEngine | dokumen | Hanya tersedia di mesin penyimpanan WiredTiger. Mengizinkan konfigurasi ke mesin penyimpanan berdasarkan per-koleksi saat membuat koleksi. Sintaksnya adalah sebagai berikut:{ <storage-engine-name>: <options> } | ||||||
validator | dokumen | Memungkinkan Anda untuk menentukan aturan atau ekspresi validasi untuk koleksi. Perhatikan bahwa validasi hanya diterapkan saat memasukkan dan memperbarui data. Oleh karena itu, data yang sudah ada di database tidak divalidasi (sampai diperbarui). | ||||||
validationLevel | string | Memungkinkan Anda untuk menentukan seberapa ketat aturan validasi diterapkan ke dokumen yang ada selama pembaruan. Nilai yang memungkinkan:
| ||||||
validationAction | string | Menentukan apakah kesalahan harus terjadi, atau hanya peringatan, ketika dokumen yang tidak valid dimasukkan. Jika error, dokumen yang tidak valid akan tetap disisipkan, namun dengan peringatan.
| ||||||
indexOptionDefaults | dokumen | Memungkinkan Anda untuk menentukan konfigurasi default untuk indeks saat membuat koleksi. Menerima storageEngine dokumen dengan sintaks berikut:{ |