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.
Index à champ unique
Les index à champ unique stockent les informations de n'importe quel champ d'une collection de documents. Par défaut, toutes les collections ont un index sur le _id champ. Vous pouvez ajouter des index supplémentaires pour accélérer les requêtes et les opérations importantes.
Les index à champ unique sont utiles lorsque :
-
Votre application interroge ou filtre fréquemment des documents en fonction des valeurs d'un champ spécifique.
-
Vous devez trier efficacement les documents en fonction d'un champ spécifique.
-
Vous souhaitez garantir l'unicité d'un champ spécifique dans les documents d'une collection en créant un index unique.
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 de champ unique
Utilisez createIndex() cette méthode pour créer un index de champ unique. La syntaxe 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> }
Voir Propriétés de l'index pour des exemples de création d'index à champ unique.