

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
<a name="indexes-single-field"></a>

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
<a name="indexes-single-field-properties"></a>


| Option | 3.6 | 4.0 | 5.0 | 8.0 | Cluster élastique | 
| --- | --- | --- | --- | --- | --- | 
| [nom](index-property-name.md) | Oui | Oui | Oui | Oui | Oui | 
| [unique](index-property-unique.md) | Oui | Oui | Oui | Oui | Oui | 
| [clairsemé \*](index-property-sparse.md) | Oui | Oui | Oui | Oui | Oui | 
| [partiel FilterExpression](index-property-partialfilterexpression.md) \* | Non | Non | Oui | Oui | Non | 
| [expirer AfterSeconds](index-property-expireafterseconds.md) | 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
<a name="indexes-single-field-creating"></a>

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](index-properties.md) pour des exemples de création d'index à champ unique.