最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang Mongodb模糊查詢的使用示例

 更新時間:2019年02月26日 08:36:59   作者:siskinc  
這篇文章主要給大家介紹了關于Golang Mongodb模糊查詢的使用示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧

前言

在日常使用的Mongodb中,有一項功能叫做模糊查詢(使用正則匹配),例如:

db.article.find({"title": {$regex: /a/, $options: "im"}})

這是我們常用Mongodb的命令行使用的方式,但是在mgo中做出類似的方式視乎是行不通的:

query := bson.M{"title": bson.M{"$regex": "/a/", "$options": "im"}}

大家用這個方式去查詢,能查詢到算我輸!

下面總結一下,正真使用的方式:

在Mongodb的命令行中,我們可以使用形如 \abcd\ 的方式來作為我們的pattern,但是在mgo是直接傳入字符串來進行的,也就是傳入的是"\a",而不是\a\。

根據(jù)第一點,我們將代碼修改一下。

query := bson.M{"title": bson.M{"$regex": "a", "$options": "im"}}

但是我們會發(fā)現(xiàn)依然不能得到我們想要的結果,那么第二點就會產生了!

在mgo中要用到模糊查詢需要mgo中自帶的一個結構: bson.RegEx

// RegEx represents a regular expression. The Options field may contain
// individual characters defining the way in which the pattern should be
// applied, and must be sorted. Valid options as of this writing are 'i' for
// case insensitive matching, 'm' for multi-line matching, 'x' for verbose
// mode, 'l' to make \w, \W, and similar be locale-dependent, 's' for dot-all
// mode (a '.' matches everything), and 'u' to make \w, \W, and similar match
// unicode. The value of the Options parameter is not verified before being
// marshaled into the BSON format.
type RegEx struct {
Pattern string
Options string
}

那么最終我們的代碼為:

query := bson.M{"title": bson.M{"$regex": bson. RegEx:{Pattern:"/a/", Options: "im"}}}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Go語言生成隨機數(shù)的方法

    Go語言生成隨機數(shù)的方法

    這篇文章主要介紹了Go語言生成隨機數(shù)的方法,實例分析了Go語言生成隨機數(shù)的原理與實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-02-02
  • Go語言使用goroutine及通道實現(xiàn)并發(fā)詳解

    Go語言使用goroutine及通道實現(xiàn)并發(fā)詳解

    這篇文章主要為大家介紹了Go語言使用goroutine及通道實現(xiàn)并發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • 淺析Go使用定時器時如何避免潛在的內存泄漏陷阱

    淺析Go使用定時器時如何避免潛在的內存泄漏陷阱

    這篇文章來和大家一起探討一下Go?中如何高效使用?timer,特別是與select?一起使用時,如何防止?jié)撛诘膬却嫘孤﹩栴},感興趣的可以了解下
    2024-01-01
  • GoLang并發(fā)機制探究goroutine原理詳細講解

    GoLang并發(fā)機制探究goroutine原理詳細講解

    goroutine是Go語言提供的語言級別的輕量級線程,在我們需要使用并發(fā)時,我們只需要通過 go 關鍵字來開啟 goroutine 即可。這篇文章主要介紹了GoLang并發(fā)機制goroutine原理,感興趣的可以了解一下
    2022-12-12
  • 利用dep代替go get獲取私有庫的方法教程

    利用dep代替go get獲取私有庫的方法教程

    go get 從指定源上面下載或者更新指定的代碼和依賴,并對他們進行編譯和安裝,但go get功能比較差,所以下面這篇文章主要給大家介紹了關于利用dep代替go get獲取私有庫的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-11-11
  • go語言vscode集成開發(fā)環(huán)境搭建

    go語言vscode集成開發(fā)環(huán)境搭建

    本文將介紹如何使用VSCode搭建Go語言開發(fā)環(huán)境,Go語言是一種簡潔高效的編程語言,而VSCode是一款輕量級的集成開發(fā)環(huán)境,二者的結合可以提供良好的開發(fā)體驗,
    2023-08-08
  • golang?使用sort.slice包實現(xiàn)對象list排序

    golang?使用sort.slice包實現(xiàn)對象list排序

    這篇文章主要介紹了golang?使用sort.slice包實現(xiàn)對象list排序,對比sort跟slice兩種排序的使用方式區(qū)別展開內容,需要的小伙伴可以參考一下
    2022-03-03
  • GoFrame框架gset交差并補集使用實例

    GoFrame框架gset交差并補集使用實例

    這篇文章主要為大家介紹了GoFrame框架gset交差并補集使用實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • Golang http請求封裝的代碼示例

    Golang http請求封裝的代碼示例

    http請求封裝在項目中非常普遍,下面筆者封裝了http post請求傳json、form 和get請求,以備將來使用,文中代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • Go語言之嵌入類型詳解

    Go語言之嵌入類型詳解

    本文詳細講解了Go語言之嵌入類型,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07

最新評論

阿图什市| 延长县| 宜兰市| 白银市| 织金县| 邵武市| 大英县| 封开县| 汉沽区| 秦皇岛市| 全南县| 永嘉县| 辽宁省| 沁源县| 东乡族自治县| 卢氏县| 高密市| 西安市| 宁南县| 兴化市| 麻栗坡县| 德兴市| 瑞金市| 虹口区| 礼泉县| 栾城县| 蒙山县| 深泽县| 桦南县| 株洲市| 弋阳县| 治县。| 抚远县| 绥化市| 土默特右旗| 宜君县| 聂拉木县| 阿克陶县| 汾阳市| 酉阳| 阿克苏市|