为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
MYYA 2022-01-10 17:22:05
这是我的 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
查看完整描述

1 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

从$search我假设你正在尝试使用文本索引/搜索,但在你的情况下是行不通的。文本索引不支持部分。您仍然可以使用正则表达式来查找这些文档,但在性能方面它可能不是一个明智的选择,除非您可以利用索引 - 在您的情况下不会发生这种情况。


不过,您可以通过以下方式实现您想要的:


id := "ket"

regex := bson.M{"$regex": bson.RegEx{Pattern: id}}

err = c.Find(bson.M{"hobby": regex}).All(&result)


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信