Jadi, koleksi terpisah bagus jika Anda perlu memilih dokumen satu per satu, memerlukan kontrol lebih besar atas kueri, atau memiliki dokumen besar
Dokumen yang disematkan bagus jika Anda menginginkan seluruh dokumen, dokumen dengan $slice of comments, atau tanpa komentar sama sekali
MongoDB digunakan untuk menyimpan, mengelola, dan memproses data. Individu diatur ke dalam , yang pada gilirannya, disimpan dalam basis data. Karena skema setiap dokumen tidak ditentukan oleh skema statis, sistem berbasis dokumen menawarkan lebih banyak fleksibilitas daripada sistem relasional yang terdiri dari tabel dan catatan.
Dalam panduan ini, kita akan berbicara tentang cara membuat dan mengelola struktur yang digunakan MongoDB untuk mengatur data. Kami akan membahas cara membuat dan mengelola database, lalu cara membuat koleksi untuk menyimpan dokumen serupa atau terkait
TERKAIT PRISMA. IO
Jika Anda menggunakan MongoDB, periksa konektor MongoDB Prisma. Anda dapat menggunakan Klien Prisma untuk mengelola basis data MongoDB produksi dengan percaya diri
Untuk mulai bekerja dengan MongoDB dan Prisma, lihat panduan memulai dari awal kami atau cara menambahkan ke proyek yang sudah ada
Prisma adalah toolkit database sumber terbuka untuk TypeScript dan Node. js yang bertujuan untuk membuat pengembang aplikasi lebih produktif dan percaya diri saat bekerja dengan database
Cara melihat database yang ada
Sebelum kita mulai membuat database baru, ada baiknya untuk mengenal beberapa metode yang disediakan MongoDB untuk menemukan informasi tentang database yang ada. Ini dapat membantu Anda memahami status sistem saat ini sebelum Anda mulai membuat perubahan
Untuk menampilkan semua database pada sistem yang dapat Anda akses, gunakan metode
switched to db admin
1show dbs
_
admin 0.000GB
config 0.000GB
local 0.000GB
MongoDB akan merespons dengan nama semua database yang dapat diakses di sistem serta ringkasan ruang penyimpanannya saat ini
Untuk melihat database mana yang saat ini sedang Anda operasikan, gunakan perintah
switched to db admin
2 atau alias singkatannya, switched to db admin
3db
test
Anda mungkin menemukan bahwa Anda saat ini menggunakan database yang tidak terdaftar oleh perintah
switched to db admin
1. Ini karena di MongoDB, hingga Anda menulis dokumen pertama ke database, database sebenarnya tidak dibuat. Jadi, pada contoh output di atas, shell disiapkan untuk beroperasi pada database switched to db admin
5, tetapi karena belum ada, maka tidak akan dikembalikan oleh perintah switched to db admin
1Untuk beralih ke database lain, Anda dapat menggunakan perintah
switched to db admin
7use admin
switched to db admin
Untuk mendapatkan beberapa informasi dasar tentang database Anda saat ini, Anda dapat menggunakan metode
switched to db admin
8db.stats()
{
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
Output menunjukkan informasi tentang jumlah koleksi dalam database, statistik penyimpanan, informasi indeks, dan banyak lagi
Cara membuat database
MongoDB tidak memiliki perintah eksplisit untuk membuat database baru. Sebaliknya, seperti yang disebutkan sebelumnya, Anda harus menunjukkan kepada MongoDB bahwa Anda ingin menulis dokumen baru ke database baru. Ketika dokumen-dokumen itu dibuat, mereka secara implisit akan membuat database
Untuk menyiapkan MongoDB untuk menulis ke database baru, keluarkan perintah
switched to db admin
7 untuk beralih ke database yang tidak adaDi sini, kita akan menyiapkan MongoDB untuk membuat database baru bernama
db.stats()
0use playground
switched to db playground
Jika Anda memeriksa database Anda saat ini, ini akan mengonfirmasi bahwa
db.stats()
0 database saat ini menjadi target perintah terkait databasedb
admin 0.000GB
config 0.000GB
local 0.000GB
_1Namun, seperti yang disebutkan sebelumnya, karena kami belum membuat dokumen apa pun, database itu sendiri belum dibuat
show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
Untuk benar-benar membuat database baru, kita perlu membuat sesuatu terlebih dahulu
Cara melihat koleksi di database
Di MongoDB, koleksi adalah struktur yang digunakan untuk mengelompokkan dokumen bersama menggunakan sistem kategorisasi apa pun yang ingin Anda terapkan. Mereka tinggal di dalam database dan menyimpan dokumen
Anda dapat melihat koleksi yang tersedia di database yang sedang Anda gunakan dengan menggunakan metode
db.stats()
2Di sini, kita akan beralih ke database
db.stats()
_3 yang memiliki beberapa koleksi yang tersedia untuk didemonstrasikanadmin 0.000GB
config 0.000GB
local 0.000GB
4admin 0.000GB
config 0.000GB
local 0.000GB
5Sebagai alternatif, Anda dapat mengambil nama koleksi yang sama dalam larik menggunakan metode
db.stats()
4admin 0.000GB
config 0.000GB
local 0.000GB
6admin 0.000GB
config 0.000GB
local 0.000GB
7Untuk menampilkan informasi tambahan tentang koleksi di database saat ini, gunakan metode
db.stats()
5admin 0.000GB
config 0.000GB
local 0.000GB
8admin 0.000GB
config 0.000GB
local 0.000GB
9Anda juga dapat secara opsional mengirimkan dokumen ke perintah untuk memfilter hasil. Misalnya, jika Anda hanya tertarik untuk melihat informasi tentang koleksi
db.stats()
6, Anda dapat mengetikdb
0db
1Untuk memeriksa berapa banyak dokumen yang berisi koleksi, gunakan metode
db.stats()
7. Misalnya, perintah berikut memeriksa berapa banyak dokumen dalam koleksi db.stats()
8db
2db
3Untuk melihat statistik dasar tentang koleksi di database saat ini, gunakan metode
db.stats()
9db
_4Perintah mungkin menampilkan lebih banyak informasi daripada yang dapat Anda konsumsi dengan mudah, tetapi berisi, tetapi berguna dalam beberapa skenario di mana Anda perlu melihat lebih dalam pada karakteristik koleksi
Cara membuat koleksi
Untuk membuat koleksi baru, ada dua pilihan. Anda dapat membuat koleksi baik secara implisit maupun eksplisit
Seperti database, MongoDB dapat secara otomatis membuat koleksi saat pertama kali dokumen dituliskan padanya. Metode ini memberitahu MongoDB untuk membuat koleksi baru dengan memasukkan dokumen ke dalam koleksi yang belum ada
Misalnya, kita dapat mengubah kembali ke database
db.stats()
_0 yang kita minati sebelumnya. Setelah kita berada di ruang nama itu, kita dapat memasukkan dokumen baru ke dalam koleksi dengan memanggil perintah {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
1 pada nama yang ingin kita gunakan untuk koleksi baru. Di sini, kita dapat membuat dokumen tentang slide dalam koleksi baru bernama {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
2db
5db
6Output menunjukkan bahwa satu dokumen telah ditulis. Perintah di atas melakukan tiga tindakan terpisah. Pertama, MongoDB membuat database
db.stats()
_0 yang telah kami referensikan dalam perintah switched to db admin
7 kami. Itu juga membuat koleksi {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
_2 di dalam database karena kami memanggil perintah {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
6 pada nama koleksi itu. Terakhir, ia membuat dokumen aktual dalam koleksi {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
2 menggunakan input yang kami berikan ke perintah {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
6Anda dapat memverifikasi bahwa semua tindakan ini telah dilakukan dengan perintah berikut
db
_7Output harus menunjukkan bahwa database
db.stats()
_0 sekarang berada di antara database yang terdaftar, bahwa koleksi {
"db" : "admin",
"collections" : 3,
"views" : 0,
"objects" : 4,
"avgObjSize" : 278.25,
"dataSize" : 1113,
"storageSize" : 86016,
"indexes" : 5,
"indexSize" : 147456,
"totalSize" : 233472,
"scaleFactor" : 1,
"fsUsedSize" : 2876923904,
"fsTotalSize" : 25832407040,
"ok" : 1
}
2 terdaftar, bahwa ada satu dokumen dalam koleksi use playground
1, dan bahwa dokumen tersebut adalah dokumen use playground
2 yang kita sisipkan dalam perintahOpsi lain yang digunakan untuk membuat koleksi adalah dengan menggunakan metode
use playground
3 secara eksplisit. Ini memungkinkan Anda membuat koleksi tanpa menambahkan dokumen apa pun ke dalamnyaMisalnya, Anda dapat membuat koleksi baru di database
db.stats()
0 bernama use playground
5 dengan mengetikdb
8db
9Kami dapat memverifikasi bahwa koleksi baru muncul saat kami menanyakannya, tetapi tidak memiliki dokumen
test
0test
1Metode
use playground
_3 terutama berguna karena memungkinkan Anda menentukan berbagai opsi saat pembuatan. Misalnya, kita mungkin ingin membuat koleksi yang dibatasi, yaitu koleksi yang mempertahankan batas atas ukuran alokasi yang disimpannya dengan menghapus dokumen terlama saat penuhUntuk membuat koleksi terbatas yang disebut
use playground
_7 yang dapat menyimpan, paling banyak, 10240 byte informasi, Anda dapat menelepontest
2test
3Ini akan membuat koleksi
use playground
_8 yang dibatasi, yang dapat kami verifikasi dengan mengetiktest
4test
5
Bagaimana cara menghapus koleksi
Untuk menghapus koleksi, Anda dapat menggunakan metode ________18______9 pada koleksi itu sendiri
Misalnya, untuk menghapus koleksi
use playground
7 yang dibatasi yang kami buat, Anda dapat mengetiktest
6test
7Anda dapat memverifikasi bahwa operasi berhasil dengan mencantumkan koleksi di database saat ini lagi
test
8test
9
Cara menghapus database
Untuk menghapus seluruh database, panggil perintah ________19______1. Ini akan menghapus database saat ini, jadi pastikan Anda berada di database yang benar sebelum mengeksekusi
use admin
0use admin
1Jika Anda memeriksa daftar database yang tersedia,
db.stats()
0 tidak lagi ditampilkanshow dbs
admin 0.000GB
config 0.000GB
local 0.000GB
Karena kita belum beralih ke database baru, MongoDB masih disiapkan untuk membuat database
db.stats()
0 jika kita memilih untuk menambahkan koleksi atau dokumen baru. Anda dapat memverifikasi ini dengan perintah switched to db admin
3db
admin 0.000GB
config 0.000GB
local 0.000GB
_1
Kesimpulan
Membuat dan mengelola database dan koleksi adalah keterampilan penting saat menggunakan MongoDB. Alat organisasi dasar ini memungkinkan Anda untuk mengelompokkan dokumen terkait bersama-sama, mengkueri subkumpulan informasi, dan menyiapkan kebijakan otorisasi untuk berbagai jenis data. Membiasakan diri dengan cara mengelola struktur ini secara efektif akan memungkinkan Anda mengelola data secara lebih efektif dengan kejutan yang lebih sedikit
TERKAIT PRISMA. IO
Jika Anda menggunakan MongoDB, periksa konektor MongoDB Prisma. Anda dapat menggunakan Klien Prisma untuk mengelola basis data MongoDB produksi dengan percaya diri
Untuk mulai bekerja dengan MongoDB dan Prisma, lihat panduan memulai dari awal kami atau cara menambahkan ke proyek yang sudah ada
Prisma adalah toolkit database sumber terbuka untuk TypeScript dan Node. js yang bertujuan untuk membuat pengembang aplikasi lebih produktif dan percaya diri saat bekerja dengan database
FAQ
Bisakah Anda membuat banyak koleksi di MongoDB?
Ya, Anda dapat memiliki banyak koleksi di dalam database di MongoDB. Koleksi dapat dianalogikan dengan tabel dalam database relasional
Bagaimana Anda menghapus semua basis data di MongoDB?
Tidak ada satu perintah pun untuk menjatuhkan setiap basis data di MongoDB, tetapi dimungkinkan dengan skrip atau serangkaian kueri
Untuk menjatuhkan database, sintaks dasar terlihat seperti
use admin
_0Bagaimana Anda mengganti nama koleksi di MongoDB?
Untuk mengganti nama koleksi di MongoDB, Anda dapat menggunakan metode
switched to db playground
5Sintaks dasar akan terlihat seperti
use admin
_7Dengan
switched to db playground
_6 menjadi nama koleksi saat ini dan switched to db playground
7 menjadi perubahan yang diinginkanBagaimana Anda mendaftar semua koleksi di MongoDB?
Anda dapat menampilkan semua koleksi yang tersedia di database tempat Anda bekerja menggunakan metode
db.stats()
2Jika Anda ingin melihat semua koleksi di database
db.stats()
3, sintaks dasar akan terlihat seperti
Bisakah MongoDB memiliki banyak koleksi?
Ya, Anda dapat memiliki banyak koleksi dalam database di MongoDB . Koleksi dapat dianalogikan dengan tabel dalam database relasional.
Berapa banyak koleksi yang dapat dimiliki database MongoDB?
Secara umum, sebaiknya batasi koleksi hingga 10.000 per kumpulan replika . Saat pengguna mulai melebihi 10.000 koleksi, mereka biasanya melihat penurunan performa. Untuk menghindari anti-pola ini, periksa database Anda dan hapus koleksi yang tidak perlu.
Bisakah database memiliki banyak koleksi?
Sebuah database dapat berisi banyak koleksi , tetapi sebuah koleksi tidak dapat menjangkau banyak database. Demikian pula, koleksi dapat berisi banyak dokumen, tetapi dokumen tidak dapat menjangkau banyak koleksi.
Berapa jumlah koleksi maksimum di MongoDB?
Catatan
Ukuran Rata-Rata Nilai Kunci Shard
Jumlah Pemisahan Maksimum
Ukuran Koleksi Maks (Ukuran Potongan 64 MB)
Ukuran Koleksi Maks (Ukuran Potongan 128 MB)
Ukuran Koleksi Maks (Ukuran Potongan 256 MB)
Batas dan Ambang Batas MongoDBwww. mongodb. com › docs › manual › referensi › limitnull