Latest web development tutorials

MongoDB cubriendo consulta al índice

La descripción oficial del documento MongoDB, cubriendo la siguiente consulta es una consulta:

  • Todos los campos de consulta son parte del índice
  • Todos los campos en la misma consulta devuelve el índice

Dado que todos aparecen en el campo de consulta forma parte del índice, los archivos de datos MongoDB sin tener que recuperar la totalidad de los términos de la consulta partido y devolver resultados de la consulta utilizando el mismo índice.

Debido a que el índice de residir en la memoria RAM, el acceso a los datos que leer datos mucho más rápido mediante el escaneo de documentos del índice.


Utilice una consulta índice de cobertura

Para probar consulta al índice casquillo, utilice el siguiente conjunto de los usuarios:

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

Creamos una colección usuarios índice común, de género y de campo nombre_usuario:

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

Ahora, el índice cubrirá la siguiente consulta:

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

Es decir, por la consulta anterior, MongoDB no va a presentar para una base de datos. En lugar de ello, extrae los datos de índice, que es de consulta de datos muy rápido.

Desde nuestro índice no incluye el campo _id, _id será devuelto de forma predeterminada en la consulta, podemos concentrarnos excluirlo de resultados de la consulta MongoDB.

Los siguientes ejemplos no se descartan _id, la consulta no será cubierto:

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

Por último, si la siguiente consulta, la consulta no puede utilizar la cubierta índice:

  • Todo el campo de índice es una matriz
  • Todo el campo subíndice es un documento