MongoDB-Go-Driver の正規表現部分文字列クエリ
正規表現部分文字列クエリは、MongoDB で複雑なテキスト検索を実行するために不可欠です。 mongo シェルは正規表現パターンを使用してクエリを実行する簡単な方法を提供しますが、公式の Go mongo ドライバーを使用してこの機能を複製するのは困難な場合があります。
問題の概要
開発者mongo-go-driver で正規表現部分文字列クエリを使用してエントリを取得する際に問題が発生しました。文書化された例に従っているにもかかわらず、コードは結果を返せませんでした。
原因
さらに調査したところ、問題は、プリミティブ.正規表現構造体。元のコードでは、パターンにスラッシュ (/) が含まれていましたが、これは Go mongo ドライバーでの使用には必要ありません。
解決策
この問題を解決するには、次のようにします。 primitive.Regex の Pattern フィールドには、スラッシュを含まない正規表現パターン自体のみを含める必要があります。例:
<code class="go">filter := bson.D{{"text", primitive.Regex{Pattern: "he", Options: ""}}}</code>
この変更により、Go mongo ドライバーが正規表現パターンを正しく解釈し、部分文字列クエリを正常に実行できるようになります。
期待される結果
修正されたコードを使用すると、クエリはコレクションから 2 つのドキュメントを返すはずです:
{ "_id" : ObjectId("5c9cc7e9950198ceeefecbdd"), "text" : "hello world" }, { "_id" : ObjectId("5c9cc7f6950198ceeefecbec"), "text" : "hello" }
これらのドキュメントには、クエリで指定された正規表現パターンと一致する「he」の部分文字列が「text」フィールドに含まれています。
以上がGo ドライバーを使用して MongoDB で正規表現部分文字列クエリを実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。