$indexOfBytes - 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.

$indexOfBytes

Der indexOfBytes $-Operator in Amazon DocumentDB wird verwendet, um den Startindex einer Teilzeichenfolge innerhalb einer Zeichenfolge auf der Grundlage der Bytepositionen der Zeichen zu ermitteln. Dies kann nützlich sein, wenn Sie mit Textdaten arbeiten, die Mehrbyte-Zeichen enthalten können, wie sie beispielsweise in nicht-lateinischen Schriften vorkommen.

Parameter

  • string: Die Eingabezeichenfolge, nach der gesucht werden soll.

  • substring: Die Teilzeichenfolge, nach der innerhalb der Eingabezeichenfolge gesucht werden soll.

  • [<start>]: (optional) Die Startposition (auf Null basierend) der Suche. Wenn nicht angegeben, beginnt die Suche am Anfang der Zeichenfolge.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt die Verwendung von$indexOfBytes, um den Index des ersten Bindestrichs in einer Reihe von Zeichenketten zu finden, die Schreibtischpositionen darstellen.

Erstellen Sie Beispieldokumente

db.people.insertMany([ { "_id": 1, "Desk": "Düsseldorf-BVV-021" }, { "_id": 2, "Desk": "Munich-HGG-32a" }, { "_id": 3, "Desk": "Cologne-ayu-892.50" }, { "_id": 4, "Desk": "Dortmund-Hop-78" } ]);

Beispiel für eine Abfrage

db.people.aggregate([ { $project: { stateLocation: { $indexOfBytes: ["$Desk", "-"] } } } ]);

Ausgabe

{ "_id" : 1, "stateLocation" : 11 } { "_id" : 2, "stateLocation" : 6 } { "_id" : 3, "stateLocation" : 7 } { "_id" : 4, "stateLocation" : 8 }

Codebeispiele

Um ein Codebeispiel für die Verwendung des $indexOfBytes 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 events = db.collection('people'); const result = await db.collection('people').aggregate([ { $project: { stateLocation: { $indexOfBytes: ["$Desk", "-"] } } } ]).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(db.people.aggregate([ { '$project': { 'stateLocation': { '$indexOfBytes': ['$Desk', '-'] } } } ])) print(result) client.close() example()