Latest web development tutorials

MongoDB consulta índice de cobertura

A descrição oficial documento MongoDB, que abrange a consulta a seguir é uma consulta:

  • Todos os campos de consulta são parte do índice
  • Todos os campos na mesma consulta retorna o índice

Uma vez que todos aparecem no campo de consulta faz parte do índice, arquivos de dados MongoDB sem ter que recuperar todo os termos da consulta jogo e retornar os resultados da consulta usando o mesmo índice.

Como o índice residir na RAM, o acesso aos dados do que a leitura de dados muito mais rápido digitalizando documentos do índice.


Use uma consulta índice de cobertura

Para testar consulta do índice tampa, utilize o seguinte conjunto de usuários:

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

Nós criamos uma coleção usuários índice comum, sexo campo e user_name:

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

Agora, o índice vai cobrir a seguinte consulta:

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

Ou seja, para a consulta acima, MongoDB é não ir para o arquivo para um banco de dados. Em vez disso, ele extrai os dados do índice, que é consulta de dados muito rápido.

Desde o nosso índice não inclui o campo _id, _id será devolvido por padrão na consulta, podemos nos concentrar excluí-lo nos resultados da consulta MongoDB.

Os exemplos a seguir não são governados _id, a consulta não será coberta:

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

Finalmente, se a consulta a seguir, a consulta não pode usar a cobertura de índice:

  • Todos campo de índice é um array
  • Todos campo sub-índice é um documento