猿问

如何使用mgo在golang中编写mongodb搜索

这是我的 JSON 文件:


[{

    "name": "chetan",

    "age": 23,

    "hobby": ["cricket", "football"]

}, {

    "name": "raj",

    "age": 24,

    "hobby": ["cricket", "golf"]

}]

这是我尝试过的 golang 代码,但没有按预期工作。


id:= "ket"

c.EnsureIndexKey("hobby")

err = c.Find(bson.M{"$hobby": bson.M{"$search": id,},}).All(&result)

它给出了错误:


$hobby 退出状态 1


MYYA
浏览 114回答 1
1回答

噜噜哒

从$search我假设你正在尝试使用文本索引/搜索,但在你的情况下是行不通的。文本索引不支持部分。您仍然可以使用正则表达式来查找这些文档,但在性能方面它可能不是一个明智的选择,除非您可以利用索引 - 在您的情况下不会发生这种情况。不过,您可以通过以下方式实现您想要的:id := "ket"regex := bson.M{"$regex": bson.RegEx{Pattern: id}}err = c.Find(bson.M{"hobby": regex}).All(&result)
随时随地看视频慕课网APP

相关分类

Go
我要回答