Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Indices composés
Les index composés stockent des informations provenant de deux ou plusieurs champs d'une collection de documents, ce qui permet d'effectuer des requêtes sur le premier champ ou sur n'importe quel champ de préfixe. Ces index optimisent les performances des requêtes qui filtrent simultanément sur plusieurs champs ou combinent le filtrage et les opérations de tri. Ils sont également efficaces pour les requêtes à condition unique sur les champs indexés les plus à gauche. La base de données utilise ces entrées d'index pour localiser efficacement les documents correspondants sans effectuer de numérisation complète des collections.
Les index de champs composés sont utiles lorsque :
-
Vous devez filtrer simultanément plusieurs champs.
-
Vous devez combiner le filtrage avec les opérations de tri.
Propriétés d'index prises en charge
| Option | 3.6 | 4.0 | 5.0 | 8.0 | Cluster élastique |
|---|---|---|---|---|---|
| nom | Oui | Oui | Oui | Oui | Oui |
| unique | Oui | Oui | Oui | Oui | Oui |
| clairsemé * | Oui | Oui | Oui | Oui | Oui |
| partiel FilterExpression * | Non | Non | Oui | Oui | Non |
* Les partialFilterExpression options sparse et ne peuvent pas être utilisées ensemble dans la même définition d'index. Si vous essayez de créer un index avec ces options, il échouera avec l'erreur suivante :
Error in specification: cannot mix partialFilterExpression and sparse options
Création d'un index composé
Utilisez createIndex() cette méthode pour créer un index composé. La syntaxe de la méthode est la suivante : db.collection.createIndex(<keys>, <options>)
Le keys paramètre est un document JSON qui spécifie les champs et l'ordre de tri des index :
{ "<field 1>": <1 (ascending)|-1 (descending)>, "<field 2>": <1 (ascending)|-1 (descending)>, ... }
Notez qu'un seul champ peut être un tableau dans un index composé. Si vous tentez de créer un index composé sur deux champs de tableau ou plus, cela échouera avec l'erreur suivante :
multiple fields of compound index cannot be arrays
Le options paramètre est un document JSON qui spécifie les options de l'index :
{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression> }
Voir Propriétés de l'index pour des exemples de création d'index composés.