MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

3 Cara Membuat Indeks di MongoDB

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $ne Operator Pipa Agregasi

  2. Luwak Tidak Dapat Terhubung Tanpa Internet

  3. mongodb $dalam batas

  4. MongoDB:pembaruan tanpa syarat?

  5. Bagaimana cara menjatuhkan database MongoDB dari baris perintah?