$strLenCP - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$strLenCP

Der $strLenCP Operator in Amazon DocumentDB wird verwendet, um die Länge eines Zeichenkettenausdrucks in Codepunkten (Unicode-Zeichen) zu bestimmen. Dies ist nützlich, wenn Sie die Anzahl der Zeichen in einer Zeichenfolge und nicht die Anzahl der Byte kennen müssen.

Parameter

  • expression: Der Zeichenkettenausdruck, für den die Länge in Codepunkten zurückgegeben werden soll.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt die Verwendung des $strLenCP Operators zur Bestimmung der Länge von Zeichenketten mit Unicode-Zeichen.

Erstellen Sie Beispieldokumente

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" } ])

Beispiel für eine Abfrage

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

Ausgabe

{ "_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 }

Beachten Sie den Unterschied in der Längenmessung für die Zeichenfolge „Düsseldorf-BVV-021", die ein Unicode-Zeichen (Ü) enthält. Der $strLenCP Operator zählt die Anzahl der Unicode-Zeichen korrekt, während der Operator die Anzahl der Byte zählt. $strLenBytes

Codebeispiele

Um ein Codebeispiel für die Verwendung des $strLenCP Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

Node.js

Hier ist ein Beispiel für die Verwendung des $strLenCP Operators in einer Node.js -Anwendung mit dem MongoDB-Treiber:

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

Hier ist ein Beispiel für die Verwendung des $strLenCP Operators in einer Python-Anwendung mit dem PyMongo Treiber:

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()