这是我的 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)
- 1 回答
- 0 关注
- 113 浏览
添加回答
举报
0/150
提交
取消