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.
$RegexFind
Neu ab Version 5.0.
Wird von Elastic Cluster nicht unterstützt.
Der $regexFind Operator in Amazon DocumentDB wird verwendet, um den Abgleich regulärer Ausdrücke für Zeichenkettenfelder in Dokumenten durchzuführen. Es ermöglicht Ihnen, nach bestimmten Teilzeichenfolgen zu suchen und diese zu extrahieren, die einem bestimmten Muster für reguläre Ausdrücke entsprechen.
Parameter
-
input: Das Zeichenkettenfeld oder der Ausdruck, nach dem gesucht werden soll. -
regex: Das Muster für reguläre Ausdrücke, nach dem gesucht werden soll. -
options: (optional) Ein Objekt, das optionale Parameter für den regulären Ausdruck angibt, z. B. Berücksichtigung von Groß- und Kleinschreibung und mehrzeiliger Abgleich. Unterstützte Optionen sindi(ohne Berücksichtigung der Groß-/Kleinschreibung) undm(mehrzeilig).
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt, wie der $regexFind Operator verwendet wird, um nach Dokumenten zu suchen, bei denen das name Feld einem bestimmten Muster für reguläre Ausdrücke entspricht.
Erstellen Sie Beispieldokumente
db.users.insertMany([ { "_id": 1, name: "John Doe", email: "john@example.com" }, { "_id": 2, name: "Diego Ramirez", email: "diego@example.com" }, { "_id": 3, name: "Alejandro Rosalez", email: "alejandro@example.com" }, { "_id": 4, name: "Shirley Rodriguez", email: "shirley@example.com" } ]);
Beispiel für eine Abfrage
db.users.aggregate([ { $project: { names: { $regexFind: { input: '$name', regex: 'j', options: 'i' } } } }, { $match: {names: {$ne: null}}} ])
Diese Abfrage gibt alle Dokumente zurück, in denen das name Feld den Buchstaben „j“ enthält (Groß- und Kleinschreibung wird nicht beachtet).
Ausgabe
[
{ _id: 1, names: { match: 'J', idx: 0, captures: [] } }
]
Hinweis: Wenn Ihre Abfrage Amazon DocumentDB Planner Version 1 verwendet, müssen Sie einen Hinweis verwenden, um einen Index zu verwenden. Ohne einen Hinweis führt die Abfrage möglicherweise einen Sammlungsscan durch. Um Ihre Planer-Version zu überprüfen und mehr über die Verwendung von Hinweisen zu erfahren, lesen Sie die [Amazon DocumentDB Query Planner-Dokumentation] (https://docs.aws.amazon.com/documentdb/latest/developerguide/query-planner.html).
Codebeispiele
Um ein Codebeispiel für die Verwendung des $regexFind Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: