Seperti halnya database apa pun, indeks adalah struktur data penting di MongoDB. Mereka mendorong kueri basis data yang mudah dan memungkinkan Anda menyimpan dan mengatur bagian dari koleksi Anda di bidang yang unik. Indeks juga mendukung kueri rentang tanpa hambatan.

Jika aplikasi Anda menggunakan MongoDB, Anda ingin memanfaatkan kekuatan indeks untuk membuat kueri Anda lebih cepat dan lebih efisien. Jadi apa itu indeks di MongoDB, dan bagaimana Anda bisa membuatnya?

Apa Itu Indeks di MongoDB?

Indeks di MongoDB memungkinkan Anda memprioritaskan beberapa bidang dalam dokumen dan mengubahnya menjadi parameter kueri nanti. Saat membuat koleksi, MongoDB membuat indeks ID default. Tetapi Anda dapat menambahkan lebih banyak jika Anda memiliki pertanyaan atau kebutuhan pengaturan yang lebih tinggi.

Indeks unik juga mencegah duplikat selama entri data. Mereka berguna untuk menolak entri yang sudah ada di database. Jadi, Anda dapat menggunakan pengindeksan unik pada nama pengguna dan bidang email, misalnya.

instagram viewer

Indeks membantu Anda mengambil secara spesifik apa yang Anda inginkan menggunakan format kueri yang ditentukan pada jumlah yang diperlukan tanpa memindai seluruh koleksi. Saat membuat indeks, Anda dapat menentukan bagaimana Anda ingin data Anda diurutkan setiap kali Anda menanyakannya.

Misalnya, jika Anda memutuskan untuk mengurutkan titik data menurut tanggal masuknya tanpa menggunakan indeks, Anda biasanya akan memberikan kriteria kueri dan urutan pengurutan.

Katakanlah Anda ingin mengatur usia yang lebih tinggi dari angka tertentu berdasarkan tanggal entri yang menurun. Kueri Anda biasanya terlihat seperti ini:

db.collectionName.find({umur: {$gt: 50}}).sort({date: -1})

Tetapi jika Anda memiliki indeks pada tanggal entri, Anda hanya perlu memberikan kriteria kueri. Ini karena Anda sudah mengurutkan tanggal secara menurun saat membuat indeks.

Dalam hal ini, kueri di atas menjadi:

db.collectionName.find({umur: {$gt: 50}})

Cara Membuat Indeks di MongoDB

Anda dapat membuat indeks di MongoDB menggunakan antarmuka shell bawaannya. Jadi itulah yang akan kita gunakan dalam tutorial ini.

Namun demikian, indeks tidak ada sendiri. Anda pasti membuat database dan koleksi sebelum Anda dapat membuat file index.

Seperti yang kami sebutkan sebelumnya, fitur pengindeksan yang menonjol adalah memungkinkan Anda menentukan kriteria penyortiran selama pembuatan indeks.

Misalnya, indeks yang mengatur usia dalam urutan terbalik terlihat seperti ini:

db.userCollection.createIndex({umur: -1})

Bilangan bulat negatif (-1) dalam kode memberitahu MongoDB untuk mengatur usia dalam urutan terbalik setiap kali Anda meminta data menggunakan usia indeks. Jadi, Anda mungkin tidak perlu menentukan urutan pengurutan selama kueri karena indeks sudah menanganinya.

Untuk membuat indeks bidang yang sama secara menaik, ganti -1 dengan 1:

db.userCollection.createIndex({umur: 1})

Meskipun ada tipe indeks lain di MongoDB, ini adalah cara membuat bentuk tunggal dan majemuk—karena yang paling banyak digunakan.

Tapi sebelum kita melanjutkan, pastikan Anda sudah mengatur MongoDB server di PC Anda. Jika Anda sudah melakukannya, buka shell MongoDB dan ikuti.

Buat Indeks Tunggal di MongoDB

Pengindeksan tunggal di MongoDB sangat mudah. Untuk memulai, pilih database yang sudah berisi koleksi.

Katakanlah nama database kami adalah MUO:

gunakan MUO

Setelah Anda memilih database, gunakan buatIndeks() perintah di shell untuk membuat satu file index.

Misalnya, untuk membuat indeks nama pengguna tunggal dalam koleksi dan menggunakannya untuk kueri dalam urutan terbalik:

db.collectionName.createIndex({nama pengguna: -1})

Pengindeksan Multikey di MongoDB

Indeks multikey berguna untuk mengindeks bidang dalam array data yang kompleks. Misalnya, koleksi mungkin berisi data kompleks pengguna dengan informasi mereka di larik lain. Misalnya, sebutkan nama, tinggi badan, dan usia.

Anda dapat membuat indeks multikey pada ketinggian setiap pengguna dalam array itu seperti ini:

db.customers.createIndex({user.height: 1})

Itu tinggi dalam kode di atas adalah bagian dari pengguna bidang.

Buat Indeks Gabungan

Suatu indeks majemuk mengandung lebih dari satu indeks. Untuk membuat indeks gabungan alamat dan jenis produk pada koleksi pelanggan, misalnya:

db.customer.createIndex({alamat: 1, produk: 1})

Karena Anda tidak memberikan nama saat membuat indeks di atas, MongoDB membuatnya secara default. Tapi itu memisahkan nama setiap indeks dengan garis bawah. Jadi kurang terbaca, terutama jika Anda memiliki lebih dari dua indeks dalam satu senyawa.

Untuk menentukan nama saat membuat indeks gabungan:

db.customers.createIndex({lokasi: 1, produk: 1, berat: -1}, {nama: "myCompundIndex"})

Dapatkan Semua Indeks dalam Koleksi

Untuk melihat semua indeks dalam koleksi:

db.collectionName.getIndexes()

Kode di atas menampilkan semua indeks dalam koleksi bernama.

Atur Basis Data Anda Dengan Indeks

Pengindeksan di MongoDB mengurangi latensi runtime saat menjalankan kueri bersamaan. Plus, mereka membantu Anda mengatur database Anda dan membuatnya lebih mudah diakses. Seperti yang Anda lihat, membuat indeks di MongoDB tidaklah rumit. Contoh di sini cukup untuk membantu Anda memulai pembuatan indeks. Meskipun demikian, untuk melihat indeks Anda dalam praktiknya, Anda perlu mengetahui cara kerja kueri di MongoDB.

Bagaimana Melakukan Operasi CRUD di MongoDB

Mengenal MongoDB itu rumit. Bersiaplah dengan CRUD.

Baca Selanjutnya

MembagikanMenciakSurel
Topik-topik terkait
  • Pemrograman
  • Python
  • Pemrograman
  • basis data
Tentang Penulis
Idowu Omisola (119 Artikel Diterbitkan)

Idowu sangat menyukai teknologi dan produktivitas yang cerdas. Di waktu luangnya, dia bermain-main dengan coding dan beralih ke papan catur ketika dia bosan, tetapi dia juga suka melepaskan diri dari rutinitas sesekali. Semangatnya untuk menunjukkan kepada orang-orang tentang teknologi modern memotivasinya untuk menulis lebih banyak.

More From Idowu Omisola

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan