来自Go的不区分大小写的MongoDB查询

Che*_*mar 1 go mgo

我有这个json文件:

[{
    "name": "chetan",
    "age": 23,
    "hobby": ["cricket", "football"]
}, {
    "name": "raj",
    "age": 24,
    "hobby": ["cricket", "golf"]
}]
Run Code Online (Sandbox Code Playgroud)

我用这个Go代码搜索数据:

id := "ket" 
regex := bson.M{"$regex": bson.RegEx{Pattern: id}} 
err = c.Find(bson.M{"hobby": regex}).All(&result)
Run Code Online (Sandbox Code Playgroud)

它发现如果用"cricket"这样的字符串搜索,但是如果我搜索像"Cricket"这样的字符串,它就找不到它.

Joh*_*ith 8

添加Options: "i"到您的RegEx.

bson.M{"$regex": bson.RegEx{Pattern: id, Options: "i"}}
Run Code Online (Sandbox Code Playgroud)