$substr - Amazon DocumentDB

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

$substr

L'$substroperatore in Amazon DocumentDB viene utilizzato per estrarre una sottostringa da una determinata stringa. È particolarmente utile quando è necessario definire sottostringhe basate su un intervallo di caratteri anziché su un intervallo di byte. Ciò è particolarmente importante quando si ha a che fare con stringhe Unicode, in cui il numero di byte usati per rappresentare un carattere può variare.

Parametri

  • string: La stringa di input da cui estrarre la sottostringa.

  • start: la posizione iniziale (a base zero) della sottostringa da estrarre. Può essere un'espressione intera non negativa.

  • length: il numero di caratteri nella sottostringa estratta. Può essere un'espressione intera non negativa.

Esempio (MongoDB Shell)

In questo esempio, dimostreremo l'uso di $substr per estrarre l'abbreviazione dello stato dalla posizione della scrivania di un dipendente.

Crea documenti di esempio

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

Esempio di interrogazione

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

Output

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

Esempi di codice

Per visualizzare un esempio di codice per l'utilizzo del $substr comando, scegliete la scheda relativa alla lingua che desiderate utilizzare:

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