MongoDB couvrant requĂȘte d'index

Le MongoDB description du document officiel, couvrant la requĂȘte suivante est une requĂȘte:

  • Tous les champs de la requĂȘte font partie de l'indice
  • Tous les champs de la mĂȘme requĂȘte renvoie l'index

Étant donnĂ© que tous apparaissent dans le champ de requĂȘte fait partie de l'indice, les fichiers de donnĂ©es MongoDB sans avoir Ă  rĂ©cupĂ©rer l'intĂ©gralitĂ© des termes correspondance de requĂȘte et retourner des rĂ©sultats de requĂȘte en utilisant le mĂȘme index.

Comme l'indice réside dans la RAM, l'accÚs aux données que pour lire les données beaucoup plus rapidement en numérisant les documents de l'index.


Utilisez une requĂȘte d'index de couverture

Pour tester indice de plafonnement requĂȘte, utilisez l'ensemble des utilisateurs suivants:

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

Nous créons une collection conjointe des utilisateurs de l'indice, le sexe sur le terrain et user_name:

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

Maintenant, l'indice couvre la requĂȘte suivante:

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

Cela est, pour la requĂȘte ci-dessus, MongoDB ne va dĂ©poser pour une base de donnĂ©es. Au lieu de cela, il extrait les donnĂ©es de l'index, qui est requĂȘte de donnĂ©es trĂšs rapide.

Depuis notre indice ne comprend pas le champ _id, _id sera retournĂ© par dĂ©faut dans la requĂȘte, nous pouvons nous concentrer exclure dans les rĂ©sultats de la requĂȘte MongoDB.

Les exemples suivants ne sont pas exclues _id, la requĂȘte ne sera pas couvert:

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

Enfin, si la requĂȘte suivante, la requĂȘte ne peut pas utiliser la couverture de l'indice:

  • Tous les champs d'index est un tableau
  • Tous les champs sous-indice est un document