View a markdown version of this page

Multi-key Indices - 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.

Multi-key Indices

Pour les champs dotés d'une valeur de tableau, un index multiclé vous permet de créer une clé d'index pour chaque élément du tableau. L'indexation d'un tableau crée une entrée d'index pour chaque élément du tableau.

Multi-key les index sont utiles lorsque votre application interroge ou filtre fréquemment des documents en fonction de valeurs dans des tableaux.

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
expirer AfterSeconds Oui Oui Oui Oui Oui

* 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 multiclé

Utilisez createIndex() cette méthode pour créer un index multiclé. La syntaxe de la méthode est la suivante : db.collection.createIndex(<key>, <options>)

Le key paramètre est un document JSON qui spécifie le champ et l'ordre de tri de l'index :

{ "<field>": <1 (ascending)|-1 (descending)> }

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>, "expireAfterSeconds": <seconds before expiry> }

L'exemple suivant crée un index multiclé sur le categories champ trié par ordre croissant avec le nom : book_categories

db.collection.createIndex( { "categories": 1 }, { "name": "book_categories" } )

Voir Propriétés de l'index pour des exemples de création d'index multiclés.