Di MongoDB, Anda dapat membuat indeks pada koleksi menggunakan createIndex()
metode, createIndexes()
metode, atau createIndexes
perintah administrasi.
The createIndex()
Metode
db.collection.createIndex()
metode membuat indeks pada koleksi yang ditentukan. Ini adalah pembungkus untuk createIndexes
perintah administrasi.
Contoh:
db.pets.createIndex( { weight: -1 } )
Ini membuat indeks pada koleksi hewan peliharaan. Ini adalah indeks turun pada weight
bidang. Kami tahu ini turun karena kami menentukan -1
. Jika kita telah menentukan 1
itu akan naik.
Indeks majemuk adalah indeks yang ditentukan pada beberapa bidang. Anda dapat membuat indeks gabungan dengan memisahkan setiap bidang dengan koma.
Contoh:
db.pets.createIndex( { name: 1, type: -1 } )
Ini membuat indeks gabungan pada name
bidang (dalam urutan menaik) dan type
bidang (dalam urutan menurun).
The createIndexes()
Metode
db.collection.createIndexes()
metode membuat satu atau lebih indeks pada koleksi Metode ini juga merupakan pembungkus untuk createIndexes
perintah administrasi.
Saat Anda membuat indeks dengan createIndexes()
metode, Anda perlu menyediakan bidang dalam array. Anda perlu melakukan ini meskipun Anda hanya membuat satu indeks.
Contoh:
db.pets.createIndexes( [ { weight: -1 } ] )
Itu melakukan hal yang sama seperti contoh pertama. Itu membuat indeks turun pada weight
lapangan.
Untuk membuat beberapa indeks, pisahkan setiap dokumen indeks dengan koma.
Contoh:
db.pets.createIndexes( [ { name: 1 }, { weight: -1 } ] )
Anda juga dapat membuat indeks gabungan dengan createIndexes()
. Untuk melakukannya, cukup tentukan indeks gabungan di dalam dokumen untuk indeks itu.
Oleh karena itu, kita dapat melakukan hal berikut:
db.pets.createIndexes( [ { name: 1, type: -1 }, { weight: -1 } ] )
Itu membuat indeks gabungan untuk name
dan type
bidang, dan indeks terpisah untuk weight
lapangan.
createIndexes
Perintah
createIndexes
perintah administrasi membuat satu atau lebih indeks pada koleksi Dua metode sebelumnya adalah pembungkus di sekitar perintah ini.
Oleh karena itu, kita dapat menggunakan createIndexes
perintah untuk membuat indeks yang kita lakukan pada contoh sebelumnya.
Berikut ini contoh pembuatan indeks pada name
bidang:
db.runCommand(
{
createIndexes: "pets",
indexes: [
{
key: { "name" : 1 },
name: "idx_name_1"
}
]
}
)
Pada contoh sebelumnya kita membiarkan MongoDB menamai indeks kita, tetapi dalam kasus ini kita menamai indeksnya idx_name_1
.
Berikut ini contoh membuat beberapa indeks:
db.runCommand(
{
createIndexes: "pets",
indexes: [
{
key: { "name" : 1, type: -1 },
name: "idx_name_1_type_-1"
},
{
key: { "weight" : -1 },
name: "idx_weight_-1"
}
]
}
)
Dalam hal ini, indeks pertama adalah indeks gabungan pada name
dan type
bidang, dan kami menamakannya idx_name_1_type_-1
.
Indeks kedua ada di weight
bidang dan kami menyebutnya idx_weight_-1
.
Indeks Wildcard
Ketiga pendekatan di atas mendukung indeks wildcard pada MongoDB 4.2 (featureCompatibilityVersion
minimal harus 4.2
untuk membuat indeks karakter pengganti).
Indeks karakter pengganti berguna untuk koleksi yang berisi data tidak terstruktur dengan bidang berbeda dalam hierarki berbeda.
Lihat Cara Membuat Indeks Wildcard di MongoDB sebagai contoh.
Dokumentasi MongoDB
Di bawah ini adalah tautan ke dokumentasi MongoDB untuk masing-masing hal di atas:
db.collection.createIndex()
db.collection.createIndexes()
createIndexes