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
1
switched to db admin
_
show 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
2 atau alias singkatannya,
switched to db admin
3
switched to db admin
db
test
Anda mungkin menemukan bahwa Anda saat ini menggunakan database yang tidak terdaftar oleh perintah
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
1
switched to db admin
Untuk beralih ke database lain, Anda dapat menggunakan perintah
7
switched to db admin
use admin
switched to db admin
Untuk mendapatkan beberapa informasi dasar tentang database Anda saat ini, Anda dapat menggunakan metode
8
switched to db admin
db.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
7 untuk beralih ke database yang tidak ada
switched to db admin
Di sini, kita akan menyiapkan MongoDB untuk membuat database baru bernama
0
db.stats[]
use playground
switched to db playground
Jika Anda memeriksa database Anda saat ini, ini akan mengonfirmasi bahwa
0 database saat ini menjadi target perintah terkait database
db.stats[]
db
_1
admin 0.000GB
config 0.000GB
local 0.000GB
Namun, 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
2
db.stats[]
Di sini, kita akan beralih ke database
_3 yang memiliki beberapa koleksi yang tersedia untuk didemonstrasikan
db.stats[]
4
admin 0.000GB
config 0.000GB
local 0.000GB
5
admin 0.000GB
config 0.000GB
local 0.000GB
Sebagai alternatif, Anda dapat mengambil nama koleksi yang sama dalam larik menggunakan metode
4
db.stats[]
6
admin 0.000GB
config 0.000GB
local 0.000GB
7
admin 0.000GB
config 0.000GB
local 0.000GB
Untuk menampilkan informasi tambahan tentang koleksi di database saat ini, gunakan metode
5
db.stats[]
8
admin 0.000GB
config 0.000GB
local 0.000GB
9
admin 0.000GB
config 0.000GB
local 0.000GB
Anda juga dapat secara opsional mengirimkan dokumen ke perintah untuk memfilter hasil. Misalnya, jika Anda hanya tertarik untuk melihat informasi tentang koleksi
6, Anda dapat mengetik
db.stats[]
0
db
1
db
Untuk memeriksa berapa banyak dokumen yang berisi koleksi, gunakan metode
7. Misalnya, perintah berikut memeriksa berapa banyak dokumen dalam koleksi
db.stats[]
8
db.stats[]
2
db
3
db
Untuk melihat statistik dasar tentang koleksi di database saat ini, gunakan metode
9
db.stats[]
_4
db
Perintah 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
_0 yang kita minati sebelumnya. Setelah kita berada di ruang nama itu, kita dapat memasukkan dokumen baru ke dalam koleksi dengan memanggil perintah
db.stats[]
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
}
2
{
"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
}
5
db
6
db
Output menunjukkan bahwa satu dokumen telah ditulis. Perintah di atas melakukan tiga tindakan terpisah. Pertama, MongoDB membuat database
_0 yang telah kami referensikan dalam perintah
db.stats[]
7 kami. Itu juga membuat koleksi
switched to db admin
_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
}
6
{
"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
}
Anda dapat memverifikasi bahwa semua tindakan ini telah dilakukan dengan perintah berikut
_7
db
Output harus menunjukkan bahwa database
_0 sekarang berada di antara database yang terdaftar, bahwa koleksi
db.stats[]
2 terdaftar, bahwa ada satu dokumen 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
}
1, dan bahwa dokumen tersebut adalah dokumen
use playground
2 yang kita sisipkan dalam perintah
use playground
Opsi lain yang digunakan untuk membuat koleksi adalah dengan menggunakan metode
3 secara eksplisit. Ini memungkinkan Anda membuat koleksi tanpa menambahkan dokumen apa pun ke dalamnya
use playground
Misalnya, Anda dapat membuat koleksi baru di database
0 bernama
db.stats[]
5 dengan mengetik
use playground
8
db
9
db
Kami dapat memverifikasi bahwa koleksi baru muncul saat kami menanyakannya, tetapi tidak memiliki dokumen
0
test
1
test
Metode
_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 penuh
use playground
Untuk membuat koleksi terbatas yang disebut
_7 yang dapat menyimpan, paling banyak, 10240 byte informasi, Anda dapat menelepon
use playground
2
test
3
test
Ini akan membuat koleksi
_8 yang dibatasi, yang dapat kami verifikasi dengan mengetik
use playground
4
test
5
test
Bagaimana cara menghapus koleksi
Untuk menghapus koleksi, Anda dapat menggunakan metode ________18______9 pada koleksi itu sendiri
Misalnya, untuk menghapus koleksi
7 yang dibatasi yang kami buat, Anda dapat mengetik
use playground
6
test
7
test
Anda dapat memverifikasi bahwa operasi berhasil dengan mencantumkan koleksi di database saat ini lagi
8
test
9
test
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
0
use admin
1
use admin
Jika Anda memeriksa daftar database yang tersedia,
0 tidak lagi ditampilkan
db.stats[]
show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
Karena kita belum beralih ke database baru, MongoDB masih disiapkan untuk membuat database
0 jika kita memilih untuk menambahkan koleksi atau dokumen baru. Anda dapat memverifikasi ini dengan perintah
db.stats[]
3
switched to db admin
db
_1
admin 0.000GB
config 0.000GB
local 0.000GB
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
_0
use admin
Bagaimana Anda mengganti nama koleksi di MongoDB?
Untuk mengganti nama koleksi di MongoDB, Anda dapat menggunakan metode
5
switched to db playground
Sintaks dasar akan terlihat seperti
_7
use admin
Dengan
_6 menjadi nama koleksi saat ini dan
switched to db playground
7 menjadi perubahan yang diinginkan
switched to db playground
Bagaimana Anda mendaftar semua koleksi di MongoDB?
Anda dapat menampilkan semua koleksi yang tersedia di database tempat Anda bekerja menggunakan metode
2
db.stats[]
Jika Anda ingin melihat semua koleksi di database
3, sintaks dasar akan terlihat seperti
db.stats[]
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?
CatatanUkuran Rata-Rata Nilai Kunci Shard512 byte64 byteJumlah Pemisahan Maksimum32.768262.144Ukuran Koleksi Maks [Ukuran Potongan 64 MB]1 TB8 TBUkuran Koleksi Maks [Ukuran Potongan 128 MB]2 TB16 TBUkuran Koleksi Maks [Ukuran Potongan 256 MB]4 TBBatas dan Ambang Batas MongoDBwww. mongodb. com › docs › manual › referensi › limitnull32 TB