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 champs ou plus 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 avec des 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 exploite ces entrées d'index pour localiser efficacement les documents correspondants sans effectuer de numérisation complète de la collection.
Les indices de champ composés sont utiles lorsque :
-
Vous devez filtrer sur plusieurs champs simultanément.
-
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 tentez 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 indice composé
Utilisez createIndex() cette méthode pour créer un indice 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> }
Consultez la section Propriétés de l'index pour des exemples de création d'index composés.