Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Multi-key Indici
Per i campi che hanno un valore di matrice, un indice a più chiavi consente di creare una chiave di indice per ogni elemento dell'array. L'indicizzazione di un array crea una voce di indice per ogni elemento dell'array.
Multi-key gli indici sono utili quando l'applicazione interroga o filtra frequentemente i documenti in base ai valori degli array.
Proprietà degli indici supportate
| Opzione | 3.6 | 4.0 | 5.0 | 8.0 | Cluster elastico |
|---|---|---|---|---|---|
| name | Sì | Sì | Sì | Sì | Sì |
| unico | Sì | Sì | Sì | Sì | Sì |
| sparso * | Sì | Sì | Sì | Sì | Sì |
| parziale* FilterExpression | No | No | Sì | Sì | No |
| scadere AfterSeconds | Sì | Sì | Sì | Sì | Sì |
* Le partialFilterExpression opzioni sparse and non possono essere utilizzate insieme nella stessa definizione di indice. Se si tenta di creare un indice con queste opzioni, l'operazione avrà esito negativo e verrà visualizzato il seguente errore:
Error in specification: cannot mix partialFilterExpression and sparse options
Creazione di un indice a più chiavi
Utilizzate il createIndex() metodo per creare un indice a più chiavi. La sintassi del metodo è: db.collection.createIndex(<key>, <options>)
Il key parametro è un documento JSON che specifica il campo e l'ordinamento dell'indice:
{ "<field>": <1 (ascending)|-1 (descending)> }
Il options parametro è un documento JSON che specifica le opzioni per l'indice:
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression>, "expireAfterSeconds": <seconds before expiry> }
L'esempio seguente crea un indice a più chiavi sul categories campo, ordinato in ordine crescente con il nome: book_categories
db.collection.createIndex( { "categories": 1 }, { "name": "book_categories" } )
Vedi Index Properties per esempi di creazione di indici a più chiavi.