$substr - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

$substr

O $substr operador no Amazon DocumentDB é usado para extrair uma substring de uma determinada string. É particularmente útil quando você precisa definir substrings com base em uma faixa de caracteres, em vez de uma faixa de bytes. Isso é especialmente importante ao lidar com cadeias de caracteres Unicode, nas quais o número de bytes usados para representar um caractere pode variar.

Parâmetros

  • string: a string de entrada da qual extrair a substring.

  • start: A posição inicial (com base em zero) da substring a ser extraída. Pode ser uma expressão inteira não negativa.

  • length: o número de caracteres na substring extraída. Pode ser uma expressão inteira não negativa.

Exemplo (MongoDB Shell)

Neste exemplo, demonstraremos o uso de $substr para extrair a abreviatura estadual da mesa de um funcionário.

Crie documentos de amostra

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

Exemplo de consulta

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

Saída

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

Exemplos de código

Para ver um exemplo de código para usar o $substr comando, escolha a guia do idioma que você deseja 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()