Berapa banyak indeks yang dibuat mongodb secara default?

Dalam tutorial MongoDB terakhir kami, kami telah membahas Tipe Data MongoDB. Jadi, mari melangkah lebih jauh dengan MongoDB

Pada artikel ini, kita akan membahas indeks MongoDB, pengindeksan lanjutan, dan batasan pengindeksan di MongoDB. Selain itu, kita akan mempelajari properti MongoDB
Jadi, mari kita mulai dengan Indeks MongoDB

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB. Jenis, Properti & Keterbatasan

Apa itu Indeks MongoDB?

Untuk semua jenis database, indeks sangat penting. Di MongoDB, Indeks membantu menyelesaikan kueri dengan lebih efisien. Indeks adalah struktur data khusus yang digunakan untuk menemukan record dalam tabel yang diberikan dengan sangat cepat tanpa harus menelusuri setiap record dalam tabel

MongoDB menggunakan indeks ini untuk membatasi jumlah dokumen yang harus dicari dalam koleksi. Struktur data yang digunakan oleh indeks adalah Binary Tree

a. Indeks Default

Dalam pengindeksan MongoDB, semua koleksi memiliki indeks default pada bidang _id. Jika kami tidak menentukan nilai apa pun untuk _id, MongoDB akan membuat bidang _id dengan nilai objek. Indeks ini mencegah klien membuat dua dokumen dengan bidang _id nilai yang sama

b. Buat Indeks

Di MongoDB, pengguna dapat membuat indeks menggunakan sintaks berikut

Db.collection_name.createIndex( <key and index type specification>, <options>)

Metode ini membuat indeks hanya jika indeks dengan spesifikasi yang sama belum ada
Mari kita lihat contoh yang membuat indeks menaik kunci tunggal pada bidang nama
Kami melihat pesan bahwa "ok". 1. Itu berarti indeks telah berhasil dibuat

> db.dataflair1.createIndex({name:1})
{
           “createdCollectionAutomatically” : false,
            “numIndexesBefore” : 1,
            “numIndexesAfter” : 2,
            “ok” : 1
}
>
_

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB. Buat Metode Indeks

Jenis Indeks di MongoDB

MongoDB mendukung jenis indeks berikut untuk menjalankan kueri

i. Indeks Kolom Tunggal

MongoDB mendukung indeks yang ditentukan pengguna seperti indeks bidang tunggal. Indeks bidang tunggal digunakan untuk membuat indeks pada bidang tunggal dokumen. Dengan indeks bidang tunggal, MongoDB dapat melintasi dalam urutan naik dan turun. Itu sebabnya kunci indeks tidak menjadi masalah dalam kasus ini

ii. Indeks Senyawa

MongoDB juga mendukung indeks yang ditentukan pengguna di banyak bidang. Untuk MongoDB ini memiliki indeks majemuk. Ada urutan bidang berurutan untuk indeks majemuk

Misalnya, jika indeks majemuk terdiri dari {“nama”. 1, "kota". 1}), maka indeks akan mengurutkan terlebih dahulu nama kemudian kota

> db.dataflair1.find().sort({“name”:1,”city”:1})
{ “_id” : ObjectId(“Sadfeb8931cffc950c924471”), “name” : “amit”, “city” : “ujjain” }
{ “_id” : ObjectId(“Sadfeb6e31cffc950c92446f”), “name” : “ankitt”, “city” : “indore” }
{ “_id” : ObjectId(“Sadfeb7c31cffc950c924470”), “name” : “rohit”, “city” : “ujjain” }
{ “_id” : ObjectId(“Sadfeb9731cffc950c924472”), “name” : “sumit”, “city” : “devas” }
>

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB- Indeks Gabungan

iii. Indeks Multikunci

MongoDB menggunakan indeks multikey untuk mengindeks nilai yang disimpan dalam array. Jika kita mengindeks bidang dengan nilai larik, MongoDB membuat entri indeks terpisah untuk setiap elemen larik. Indeks ini memungkinkan kueri untuk memilih dokumen dengan kriteria yang cocok

MongoDB secara otomatis menentukan apakah akan membuat indeks multikunci jika bidang yang diindeks berisi nilai larik. Kita tidak perlu menentukan tipe multikey secara eksplisit. Di bawah ini adalah contoh indeks multikey

> db.dataflair1.find().sort({“name”:1,”city”:1})
{ “_id” : ObjectId(“Sadfeb6e31cffc950c92446f”), “name” : “ankitt”, “city” : “indore” }
{ “_id” : ObjectId(“Sadfeb7c31cffc950c924470”), “name” : “rohit”, “city” : “ujjain” }
{ “_id” : ObjectId(“Sadfeb8931cffc950c924471”), “name” : “amit”, “city” : “ujjain” }
{ “_id” : ObjectId(“Sadfeb9731cffc950c924472”), “name” : “sumit”, “city” : “devas” }
>

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB – Indeks Multikunci

iv. Indeks Geospasial

Untuk kueri data geospasial, MongoDB mendukung dua jenis indeks – indeks 2d dan indeks bola 2d. indeks 2d gunakan geometri planar saat mengembalikan hasil dan indeks 2dsphere gunakan geometri bola .

v. Indeks Teks

Ini adalah jenis indeks lain yang didukung oleh MongoDB. Indeks teks mendukung pencarian konten string dalam koleksi. Jenis indeks ini tidak menyimpan kata berhenti khusus bahasa (mis. g. “itu”, “a”, “atau”). Indeks teks membatasi kata dalam koleksi agar hanya menyimpan kata dasar

Di bawah ini adalah contoh indeks teks

HIni adalah sintaks yang kita gunakan untuk Text Index

db.collection_name.createIndex({name:”text”})
> db.dataflair.createIndex({name:”text”})
{
         “createdCollectionAutomatically” : false,
            “numIndexesBefore” : 1,
            “numIndexesAfter” : 2,
            “ok” : 1
}

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB- Indeks Teks

vi.   Indeks Hash

MongoDB mendukung sharding berbasis hash dan menyediakan indeks hash. Indeks ini adalah hash dari nilai bidang

Properti Indeks MongoDB

a. Indeks Unik

Properti indeks ini menyebabkan MongoDB menolak nilai duplikat untuk bidang yang diindeks. Dengan kata lain, properti indeks yang unik membatasinya untuk memasukkan nilai duplikat dari bidang yang diindeks. Indeks unik dapat dipertukarkan secara fungsional dengan indeks MongoDB lainnya

Mari kita lihat contohnya

Kami membuat indeks menggunakan createIndex() untuk bidang nama dan menyetel unique menjadi true. Kemudian masukkan dokumen dengan bidang "nama" dan "kota"

> db.dataflair.createIndex({name:1},{unique:true})
{
         “createdCollectionAutomatically” : false,
           “numIndexesBefore” : 2,
           “numIndexesAfter” : 3,
            “ok” : 1
}
> db.data-flair.insert({“name”:”ankit”,”city”:”Indore”})
WriteResult({ “nInserted” : 1 })
> db.data-flair.insert({“name”:”ankit”,”city”:”Indore”})
WriteResult({
                “nInserted” : 0,
                “writerError” : {
                           “code” : 11000,
                           “Errmsg” : “E1100 duplicate key error collection: test.dataflair index: name_1 dup key: ( : \”ankit\” }”
}
})
>
_

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB- Properti Unik

Kami melihat bahwa ketika kami mencoba memasukkan dokumen lagi dengan nilai bidang yang sama dengan properti unik, kesalahan ditampilkan

Jadi, kita tidak dapat menyisipkan nilai duplikats dalam bidang dengan properti unik.

b. Indeks Parsial

Properti ini hadir dalam MongoDB versi 3. 2. Indeks Parsial hanya mengindeks dokumen yang cocok dengan kriteria filter. Jika kita membuat indeks dengan beberapa ketentuan yang diterapkan maka itu adalah indeks parsial

Mari buat indeks di bidang kota hanya dengan kota Indore. Untuk ini, kita harus menggunakan partialFilterExpression

> db.dataflair.createIndex({city:1},{partialFilterExpression:{name:”ankit”}})
{
         “createdCollectionAutomatically” : false,
          “numIndexesBefore” : 3,
          “numIndexesAfter” : 4,
           “ok” : 1
}
>

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB- Indeks Parsial

Pesan ditampilkan sebagai "ok". 1 berarti indeks parsial telah dibuat

c. Indeks Jarang

Properti jarang memastikan bahwa indeks hanya berisi entri untuk dokumen dengan bidang yang diindeks. Indeks akan melewati dokumen tanpa bidang yang diindeks

Kami dapat menggabungkan opsi ini dengan opsi indeks unik untuk menolak dokumen dengan nilai duplikat untuk suatu bidang. Dan dapat mengabaikan dokumen tanpa kunci yang diindeks secara bersamaan
Contoh

> db.dataflair.createIndex({name:1},{unique:true,sparese:true})
{
          “createdCollectionAutomatically” : false,
          “numIndexesBefore” : 2,
          “numIndexesAfter” : 3,
           “ok” : 1
}
>
_

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB- Indeks Jarang

d. Indeks TTL

Indeks TTL atau "total waktu untuk hidup" adalah indeks khusus di MongoDB. Indeks ini digunakan untuk menghapus dokumen secara otomatis dari koleksi setelah durasi waktu yang ditentukan. Opsi yang kami gunakan adalah expiredAfterSeconds untuk memberikan waktu kedaluwarsa

Properti ini ideal untuk jenis informasi tertentu seperti data yang dihasilkan mesin, log, dan informasi sesi yang hanya perlu ada untuk waktu terbatas dalam database
Mari buat Indeks TTL yang menghapus dokumen setelah 35 detik

Berapa banyak indeks yang dibuat mongodb secara default?

Indeks MongoDB- Indeks TTL

Keterbatasan Pengindeksan MongoDB

Pengindeksan di MongoDB memiliki beberapa batasan yang dibahas di bawah ini

a. Batasan Jangkauan

  1. Koleksi tidak dapat diindeks lebih dari 64
  2. Nama indeks hanya dapat berisi 164 karakter
  3. Indeks majemuk dapat memiliki 31 bidang yang diindeks pada maks

b. Penggunaan RAM

Ukuran total indeks tidak boleh melebihi ukuran RAM karena indeks disimpan dalam RAM. Jika melebihi batas ini, akan menyebabkan penghapusan beberapa indeks dan menurunkan kinerja

c. Batasan Kueri

Faktor-faktor berikut tersedia untuk kueri saat mengindeks

  1. Kueri tidak boleh menggunakan ekspresi seperti $nin, $not, dll
  2. Kueri tidak boleh menggunakan operator aritmatika seperti $mod dll
  3. Permintaan tidak boleh menggunakan klausa $where

d. Batas Kunci yang Diindeks

MongoDB tidak akan membuat indeks jika nilai bidang indeks yang ada melebihi batas kunci indeks

Kesimpulan

Sekarang kita telah mempelajari Indexing di MongoDB. Kami juga telah melihat properti Pengindeksan dan batasan Pengindeksan di MongoDB. Kita juga akan melihat bagaimana replikasi dan sharding bekerja di MongoDB

Berapa banyak indeks yang dapat dibuat oleh MongoDB?

Satu koleksi dapat memiliki tidak lebih dari 64 indeks .

Berapa banyak indeks yang dibuat MongoDB secara default untuk koleksi baru?

Untuk mendukung kueri data koordinat geospasial yang efisien, MongoDB menyediakan dua indeks khusus . Indeks 2d yang menggunakan geometri planar saat mengembalikan hasil dan indeks 2dsphere yang menggunakan geometri bola untuk mengembalikan hasil.

Apa indeks default di MongoDB?

Saat membuat dokumen dalam koleksi, MongoDB membuat indeks unik menggunakan bidang _id. MongoDB menyebut ini sebagai Indeks _id Default

Apakah MongoDB secara otomatis membuat indeks?

Bidang tunggal . Indeks ini kemudian dapat digunakan untuk mengambil dokumen dari database secara efisien. Namun, Anda akan sering meminta data pada bidang spesifik lainnya. Each collection in MongoDB automatically has an index on the _id field. This index can then be used to fetch documents from the database efficiently. However, you will need to query data on other specific fields most of the time.