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

$strLenBytes

Der $strLenBytes Operator in Amazon DocumentDB wird verwendet, um die Länge einer Zeichenfolge in Byte zu bestimmen. Dies ist nützlich, wenn Sie die Speichergröße eines Zeichenkettenfeldes verstehen müssen, insbesondere wenn Sie es mit Unicode-Zeichen zu tun haben, die mehr als ein Byte pro Zeichen verwenden können.

Parameter

  • expression: Der Zeichenkettenausdruck, dessen Länge berechnet werden soll.

Beispiel (MongoDB Shell)

Dieses Beispiel zeigt, wie der $strLenBytes Operator verwendet wird, um die Länge von Zeichenkettenfeldern in Byte zu berechnen.

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": { $strLenBytes: "$Desk" } } } ])

Ausgabe

{ "_id" : 1, "Desk" : "Düsseldorf-BVV-021", "length" : 19 } { "_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, dass die Länge der Zeichenfolge „Düsseldorf-BVV-021" 19 Byte beträgt, was sich von der Anzahl der Codepunkte (18) unterscheidet, da das Unicode-Zeichen „Ü“ 2 Byte belegt.

Codebeispiele

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

Node.js
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": { $strLenBytes: "$Desk" } } } ]).toArray(); console.log(result); client.close(); } example();
Python
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": { "$strLenBytes": "$Desk" } } } ])) print(result) client.close() example()