$substr - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$substr

L'$substropérateur dans Amazon DocumentDB est utilisé pour extraire une sous-chaîne d'une chaîne donnée. Cela est particulièrement utile lorsque vous devez définir des sous-chaînes basées sur une plage de caractères plutôt que sur une plage d'octets. Cela est particulièrement important lorsqu'il s'agit de chaînes Unicode, où le nombre d'octets utilisés pour représenter un caractère peut varier.

Paramètres

  • string: chaîne d'entrée à partir de laquelle extraire la sous-chaîne.

  • start: position de départ (base zéro) de la sous-chaîne à extraire. Il peut s'agir d'une expression entière non négative.

  • length: le nombre de caractères de la sous-chaîne extraite. Il peut s'agir d'une expression entière non négative.

Exemple (MongoDB Shell)

Dans cet exemple, nous allons démontrer l'utilisation de $substr pour extraire l'abréviation de l'État du bureau d'un employé.

Création d'exemples de documents

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

Exemple de requête

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

Sortie

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

Exemples de code

Pour afficher un exemple de code d'utilisation de la $substr commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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