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

$substr

El $substr operador de Amazon DocumentDB se utiliza para extraer una subcadena de una cadena determinada. Resulta especialmente útil cuando necesita definir subcadenas en función de un rango de caracteres, en lugar de un rango de bytes. Esto es especialmente importante cuando se trata de cadenas Unicode, donde el número de bytes utilizados para representar un carácter puede variar.

Parámetros

  • string: la cadena de entrada de la que se extrae la subcadena.

  • start: la posición inicial (basada en cero) de la subcadena que se va a extraer. Puede ser una expresión entera no negativa.

  • length: el número de caracteres de la subcadena extraída. Puede ser una expresión entera no negativa.

Ejemplo (MongoDB Shell)

En este ejemplo, demostraremos el uso de $substr para extraer la abreviatura de estado de la ubicación del escritorio de un empleado.

Cree documentos de muestra

db.people.insertMany([ { "_id": 1, "Desk": "Düsseldorf-NRW-021" }, { "_id": 2, "Desk": "Bremerhaven-HBB-32a" }, { "_id": 3, "Desk": "Norderstedt-SHH-892.50" }, { "_id": 4, "Desk": "Brandenburg-BBB-78" } ]);

Ejemplo de consulta

db.people.aggregate([ { $project: { "state": { $substr: ["$Desk", 12, 3] } } } ])

Salida

{ "_id": 1, "state": "NRW" }, { "_id": 2, "state": "HBB" }, { "_id": 3, "state": "SHH" }, { "_id": 4, "state": "BBB" }

Ejemplos de código

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

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: { "state": { $substrCP: ["$Desk", 12, 3] } } } ]).toArray(); console.log(result); await 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": { "state": { "$substrCP": ["$Desk", 12, 3] } } } ])) print(result) client.close() example()