MongoDB meliputi indeks query
Pejabat MongoDB dokumen deskripsi, meliputi query berikut adalah query:
- Semua bidang permintaan merupakan bagian dari indeks
- Semua bidang dalam query yang sama mengembalikan indeks
Karena semua muncul di bidang permintaan merupakan bagian dari indeks, file data MongoDB tanpa harus mengambil seluruh istilah permintaan pertandingan dan kembali hasil query menggunakan indeks yang sama.
Karena indeks berada di RAM, akses data dari membaca data jauh lebih cepat dengan memindai dokumen dari indeks.
Menggunakan query indeks yang mencakup
Untuk menguji permintaan Indeks cap, menggunakan set berikut pengguna:
{ "_id": ObjectId("53402597d852426020000002"), "contact": "987654321", "dob": "01-01-1991", "gender": "M", "name": "Tom Benzamin", "user_name": "tombenzamin" }
Kami membuat sendi pengguna indeks koleksi, bidang gender dan user_name:
>db.users.ensureIndex({gender:1,user_name:1})
Sekarang, indeks akan mencakup query berikut:
>db.users.find({gender:"M"},{user_name:1,_id:0})
Artinya, untuk pertanyaan di atas, MongoDB tidak akan mengajukan database. Sebaliknya, itu ekstrak data dari indeks, yang permintaan data sangat cepat.
Sejak indeks kami tidak termasuk bidang _id, _id akan dikembalikan secara default dalam query, kita bisa berkonsentrasi mengecualikan itu di hasil query MongoDB.
Contoh-contoh berikut tidak mengesampingkan _id, query tidak akan dibahas:
>db.users.find({gender:"M"},{user_name:1})
Akhirnya, jika query berikut, query tidak dapat menggunakan penutup indeks:
- Semua bidang indeks adalah array Semua bidang sub-indeks dokumen