首頁  >  文章  >  後端開發  >  如何使用 Go 驅動程式在 MongoDB 中執行正規表示式子字串查詢?

如何使用 Go 驅動程式在 MongoDB 中執行正規表示式子字串查詢?

Susan Sarandon
Susan Sarandon原創
2024-11-04 01:39:29642瀏覽

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

MongoDB-Go-Driver 中的正規表示式子字串查詢

正規表示式子字串對於在MongoDB 中執行複雜的文字搜尋至關重要。雖然 mongo shell 提供了使用正規表示式模式進行查詢的簡單方法,但使用官方 Go mongo 驅動程式複製此功能可能具有挑戰性。

問題概述

開發人員在使用 mongo-go-driver 的正規表示式子字串查詢檢索條目時遇到困難。儘管遵循了記錄的範例,但程式碼未能傳回任何結果。

原因

進一步調查,此問題源自於Primitive.Regex 結構。在原始程式碼中,Pattern 包含正斜線 (/),這對於在 Go mongo 驅動程式中使用不是必需的。

解決方案

要解決此問題, Primitive.Regex 中的 Pattern 欄位應該只包含正規表示式模式本身,沒有任何斜線。例如:

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

此變更允許 Go mongo 驅動程式正確解釋正規表示式模式並成功執行子字串查詢。

預期結果

使用更正後的程式碼,查詢應從集合中傳回兩個文件:

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

這些文件在其「text 」欄位中包含「he」子字串,與查詢中指定的正規表示式模式相符。

以上是如何使用 Go 驅動程式在 MongoDB 中執行正規表示式子字串查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn