Heim  >  Artikel  >  Backend-Entwicklung  >  Wie führe ich Regex-Teilzeichenfolgenabfragen in MongoDB mit dem Go-Treiber durch?

Wie führe ich Regex-Teilzeichenfolgenabfragen in MongoDB mit dem Go-Treiber durch?

Susan Sarandon
Susan SarandonOriginal
2024-11-04 01:39:29706Durchsuche

How to Perform Regex Substring Queries in MongoDB with the Go Driver?

Regex-Teilzeichenfolgenabfragen in MongoDB-Go-Driver

Regex-Teilzeichenfolgenabfragen sind für die Durchführung komplexer Textsuchen in MongoDB unerlässlich. Während die Mongo-Shell einfache Möglichkeiten zum Abfragen mithilfe von Regex-Mustern bietet, kann es schwierig sein, diese Funktionalität mit dem offiziellen Go-Mongo-Treiber zu replizieren.

Problemübersicht

Ein Entwickler Beim Abrufen von Einträgen mithilfe einer Regex-Teilzeichenfolgenabfrage mit dem Mongo-Go-Treiber sind Schwierigkeiten aufgetreten. Obwohl die dokumentierten Beispiele befolgt wurden, konnte der Code keine Ergebnisse zurückgeben.

Ursache

Bei weiteren Untersuchungen ergab sich, dass das Problem auf ein falsches Format für das Feld „Muster“ zurückzuführen war primitive.Regex-Struktur. Im Originalcode enthielt das Muster Schrägstriche (/), die für die Verwendung im Go-Mongo-Treiber nicht erforderlich sind.

Lösung

Um das Problem zu beheben, Das Musterfeld in primitive.Regex sollte nur das Regex-Muster selbst enthalten, ohne Schrägstriche. Zum Beispiel:

<code class="go">filter := bson.D{{"text", primitive.Regex{Pattern: "he", Options: ""}}}</code>

Diese Änderung ermöglicht es dem Go-Mongo-Treiber, das Regex-Muster korrekt zu interpretieren und die Teilzeichenfolgenabfrage erfolgreich durchzuführen.

Erwartete Ergebnisse

Mit dem korrigierten Code sollte die Abfrage zwei Dokumente aus der Sammlung zurückgeben:

{
    "_id" : ObjectId("5c9cc7e9950198ceeefecbdd"),
    "text" : "hello world"
},
{
    "_id" : ObjectId("5c9cc7f6950198ceeefecbec"),
    "text" : "hello"
}

Diese Dokumente enthalten den „he“-Teilstring in ihrem „text“-Feld, der mit dem in der Abfrage angegebenen Regex-Muster übereinstimmt.

Das obige ist der detaillierte Inhalt vonWie führe ich Regex-Teilzeichenfolgenabfragen in MongoDB mit dem Go-Treiber durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn