Latest web development tutorials

MongoDB تغطي الاستعلام مؤشر

وMongoDB وصف الوثائق الرسمية، التي تغطي الاستعلام التالي هو استعلام:

  • جميع حقول الاستعلام هي جزء من مؤشر
  • كافة الحقول في نفس الاستعلام بإرجاع مؤشر

وبما أن جميع تظهر في مجال الاستعلام هو جزء من مؤشر، وملفات البيانات MongoDB دون الحاجة لاسترداد شروط الاستعلام المباراة بأكملها والعودة نتائج الاستعلام باستخدام نفس المؤشر.

لأن مؤشر يقيمون في ذاكرة الوصول العشوائي، والوصول إلى البيانات من لقراءة البيانات بشكل أسرع عن طريق مسح الوثائق من المؤشر.


استخدام استعلام مؤشر تغطية

لاختبار الاستعلام مؤشر كأب، واستخدام مجموعة التالية من المستخدمين:

{
   "_id": ObjectId("53402597d852426020000002"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "gender": "M",
   "name": "Tom Benzamin",
   "user_name": "tombenzamin"
}

نحن خلق مشترك جمع مستخدمين المؤشر بين الجنسين الميدانية واسم_المستخدم:

>db.users.ensureIndex({gender:1,user_name:1})

الآن، فإن مؤشر تغطية الاستعلام التالي:

>db.users.find({gender:"M"},{user_name:1,_id:0})

وهذا هو، للاستعلام أعلاه، MongoDB لن ملف لقاعدة بيانات. بدلا من ذلك، فإنه استخراج البيانات من المؤشر، الذي هو الاستعلام بيانات سريع جدا.

منذ مؤشر لدينا لا تشمل مجال _ID، سيتم إرجاع _ID افتراضيا في الاستعلام، يمكننا التركيز استبعاده في نتائج الاستعلام MongoDB.

لا استبعد الأمثلة التالية _ID، لن تكون مشمولة في الاستعلام:

>db.users.find({gender:"M"},{user_name:1})

وأخيرا، إذا كان الاستعلام التالي، الاستعلام لا يمكن استخدام الغطاء الفهرس:

  • كل حقل مؤشر صفيف
  • كل حقل المؤشر الفرعي هو وثيقة