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.
$substrCP
Der $substrCP Operator in Amazon DocumentDB wird verwendet, um eine Teilzeichenfolge aus einer Zeichenfolge zu extrahieren, wobei die Teilzeichenfolge als Bereich von UTF-8-Codepunkten (CP) angegeben ist. Dieser Operator ist besonders nützlich, wenn Sie mit Unicode-Zeichenketten arbeiten, da Sie damit Teilzeichenfolgen extrahieren können, ohne sich Gedanken über die zugrunde liegende Byte-Darstellung der Zeichen machen zu müssen.
Im Gegensatz zum $substrBytes Operator, der mit Bytepositionen arbeitet, arbeitet der $substrCP Operator mit Codepunktpositionen. Dies erleichtert die Arbeit mit Zeichenfolgen, die Nicht-ASCII-Zeichen enthalten, da die Anzahl der Codepunkte möglicherweise nicht der Anzahl der Byte oder Zeichen entspricht.
Parameter
-
string: Die Eingabezeichenfolge, aus der die Teilzeichenfolge extrahiert werden soll. -
start: Die Startposition des Codepunkts (auf Null basierend), aus der die Teilzeichenfolge extrahiert werden soll. -
length: Die Anzahl der zu extrahierenden Codepunkte.
Beispiel (MongoDB Shell)
In diesem Beispiel verwenden wir den $substrCP Operator, um die Abkürzung für das Bundesland aus einer Zeichenfolge zu extrahieren, die den Schreibtischstandort des Mitarbeiters enthält.
Erstellen Sie Beispieldokumente
db.people.insert([ { "_id": 1, "first_name": "Jane", "last_name": "Doe", "Desk": "12 Main St, Minneapolis, MN 55401" }, { "_id": 2, "first_name": "John", "last_name": "Doe", "Desk": "456 Oak Rd, New Orleans, LA 70032" }, { "_id": 3, "first_name": "Steve", "last_name": "Smith", "Desk": "789 Elm Ln, Bakersfield, CA 93263" } ]);
Beispiel für eine Abfrage
db.people.aggregate([ { $project: { "state": { $substrCP: ["$Desk", 25, 2] } } } ]);
Ausgabe
{ "_id" : 1, "state" : "MN" }
{ "_id" : 2, "state" : "LA" }
{ "_id" : 3, "state" : "CA" }
In diesem Beispiel wissen wir, dass die Abkürzung für das Bundesland am 25. Codepunkt im Desk Feld beginnt und 2 Codepunkte lang ist. Mithilfe des $substrCP Operators können wir die Abkürzung des Bundesstaates extrahieren, ohne uns um die zugrunde liegende Byte-Darstellung der Zeichenfolge kümmern zu müssen.
Codebeispiele
Um ein Codebeispiel für die Verwendung des $substrCP Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: