$substr - Amazon DocumentDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

$substr

Der $substr Operator in Amazon DocumentDB wird verwendet, um eine Teilzeichenfolge aus einer bestimmten Zeichenfolge zu extrahieren. Dies ist besonders nützlich, wenn Sie Teilzeichenfolgen definieren müssen, die auf einem Zeichenbereich und nicht auf einem Bytebereich basieren. Dies ist besonders wichtig, wenn es sich um Unicode-Zeichenketten handelt, bei denen die Anzahl der zur Darstellung eines Zeichens verwendeten Byte variieren kann.

Parameter

  • string: Die Eingabezeichenfolge, aus der die Teilzeichenfolge extrahiert werden soll.

  • start: Die Startposition (auf Null basierend) der Teilzeichenfolge, die extrahiert werden soll. Kann ein nicht negativer Integer-Ausdruck sein.

  • length: Die Anzahl der Zeichen in der extrahierten Teilzeichenfolge. Kann ein nicht negativer Integer-Ausdruck sein.

Beispiel (MongoDB Shell)

In diesem Beispiel demonstrieren wir die Verwendung von, $substr um die Abkürzung des Bundesstaates aus dem Schreibtischstandort eines Mitarbeiters zu extrahieren.

Erstellen Sie Beispieldokumente

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

Beispiel für eine Abfrage

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

Ausgabe

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

Codebeispiele

Um ein Codebeispiel für die Verwendung des $substr Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

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