View a markdown version of this page

Indices composés - Amazon DocumentDB

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.