$strLenCP - 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.

$strLenCP

L'$strLenCPopé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)

L'exemple suivant illustre l'utilisation de l'$strLenCPopé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'$strLenCPopérateur compte correctement le nombre de caractères Unicode, tandis que l'$strLenBytesopérateur compte le nombre d'octets.

Exemples de code

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'$strLenCPopé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'$strLenCPopé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()