Latest web development tutorials

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