MongoDB copertura di query indice
La descrizione ufficiale del documento MongoDB, che copre la seguente query è una query:
- Tutti i campi di query fanno parte dell'indice
- Tutti i campi nella stessa query restituisce l'indice
Poiché tutti appaiono nel campo query fa parte dell'indice, i file di dati MongoDB senza dover recuperare l'intero termini di ricerca partita e restituire i risultati della query utilizzando lo stesso indice.
Poiché l'indice risiede nella RAM, l'accesso ai dati di leggere i dati molto più veloce scansione di documenti dall'indice.
Utilizzare una query indice di copertura
Per testare interrogazione Cap Index, utilizzare la seguente serie di utenti:
{ "_id": ObjectId("53402597d852426020000002"), "contact": "987654321", "dob": "01-01-1991", "gender": "M", "name": "Tom Benzamin", "user_name": "tombenzamin" }
Creiamo una collezione utenti indice comune, campo di genere e nome_utente:
>db.users.ensureIndex({gender:1,user_name:1})
Ora, l'indice coprirà la seguente query:
>db.users.find({gender:"M"},{user_name:1,_id:0})
Cioè, per l'interrogazione di cui sopra, MongoDB non è intenzione di file per un database. Invece, estrae i dati dall'indice, che è ricerca di dati molto veloce.
Dal momento che il nostro indice non comprende il campo _id, _id verrà restituito per default nella query, possiamo concentrarci escluderlo in MongoDB risultati della query.
Gli esempi che seguono non sono governati _id, la query non saranno coperti:
>db.users.find({gender:"M"},{user_name:1})
Infine, se la seguente query, la query non può usare la copertura dell'indice:
- Tutti campo indice è un array Tutti campo sottoindice è un documento