$strLenCP - Amazon DocumentDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

$strLenCP

El $strLenCP operador de Amazon DocumentDB se utiliza para determinar la longitud de una expresión de cadena en puntos de código (caracteres Unicode). Esto resulta útil cuando necesita saber el número de caracteres de una cadena, en lugar del número de bytes.

Parámetros

  • expression: la expresión de cadena cuya longitud se debe devolver en puntos de código.

Ejemplo (MongoDB Shell)

El siguiente ejemplo demuestra el uso del $strLenCP operador para determinar la longitud de las cadenas con caracteres Unicode.

Cree documentos de muestra

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

Ejemplo de consulta

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

Salida

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

Observe la diferencia en la medida de longitud de la cadena «Düsseldorf-BVV-021", que contiene un carácter Unicode (Ü). El $strLenCP operador cuenta correctamente el número de caracteres Unicode, mientras que el operador cuenta el número de bytes. $strLenBytes

Ejemplos de código

Para ver un ejemplo de código para usar el $strLenCP comando, elija la pestaña correspondiente al idioma que desee usar:

Node.js

A continuación, se muestra un ejemplo del uso del $strLenCP operador en una aplicación Node.js con el controlador 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

Este es un ejemplo del uso del $strLenCP operador en una aplicación de Python con el PyMongo controlador:

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