

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.

# \$1strLenCP
<a name="strLenCP"></a>

L'`$strLenCP`opérateur dans Amazon DocumentDB est utilisé pour déterminer la longueur d'une expression de chaîne en points de code (caractères Unicode). Cela est utile lorsque vous devez connaître le nombre de caractères d'une chaîne plutôt que le nombre d'octets.

**Paramètres**
+ `expression`: expression de chaîne dont la longueur doit être renvoyée en points de code.

## Exemple (MongoDB Shell)
<a name="strLenCP-examples"></a>

L'exemple suivant illustre l'utilisation de l'`$strLenCP`opérateur pour déterminer la longueur des chaînes contenant des caractères Unicode.

**Création d'exemples de documents**

```
db.people.insertMany([
  { "_id": 1, "Desk": "Düsseldorf-BVV-021" },
  { "_id": 2, "Desk": "Munich-HGG-32a" },
  { "_id": 3, "Desk": "Cologne-ayu-892.50" },
  { "_id": 4, "Desk": "Dortmund-Hop-78" }
])
```

**Exemple de requête**

```
db.people.aggregate([
  {
    $project: {
      "Desk": 1,
      "length": { $strLenCP: "$Desk" }
    }
  }
])
```

**Sortie**

```
{ "_id" : 1, "Desk" : "Düsseldorf-BVV-021", "length" : 18 }
{ "_id" : 2, "Desk" : "Munich-HGG-32a", "length" : 14 }
{ "_id" : 3, "Desk" : "Cologne-ayu-892.50", "length" : 18 }
{ "_id" : 4, "Desk" : "Dortmund-Hop-78", "length" : 15 }
```

Notez la différence de mesure de longueur pour la chaîne « Düsseldorf-BVV-021 », qui contient un caractère Unicode (Ü). L'`$strLenCP`opérateur compte correctement le nombre de caractères Unicode, tandis que l'`$strLenBytes`opérateur compte le nombre d'octets.

## Exemples de code
<a name="strLenCP-code"></a>

Pour afficher un exemple de code relatif à l'utilisation de la `$strLenCP` commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

------
#### [ Node.js ]

Voici un exemple d'utilisation de l'`$strLenCP`opérateur dans une application Node.js avec le pilote MongoDB :

```
const { MongoClient } = require('mongodb');

async function example() {
  const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false');
  const db = client.db('test');
  const collection = db.collection('people');

  const result = await collection.aggregate([
    {
      $project: {
        "Desk": 1,
        "length": { $strLenCP: "$Desk" }
      }
    }
  ]).toArray();

  console.log(result);
  await client.close();
}

example();
```

------
#### [ Python ]

Voici un exemple d'utilisation de l'`$strLenCP`opérateur dans une application Python avec le PyMongo pilote :

```
from pymongo import MongoClient

def example():
    client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false')
    db = client.test
    collection = db.people

    result = list(collection.aggregate([
        {
            '$project': {
                "Desk": 1,
                "length": { "$strLenCP": "$Desk" }
            }
        }
    ]))

    print(result)
    client.close()

example()
```

------