一尘不染

如何在mgo中进行文本搜索?

go

我正在尝试在名为“ abc”的字段中搜索“ efg”

c.Find(bson.M{"$text": bson.M{"abc": "efg"}})

c是Collection对象。我没有任何结果。我究竟做错了什么?


阅读 258

收藏
2020-07-02

共1个答案

一尘不染

您正在生成{$text:{abc:"efg"}},但查询应如下所示: {$text:{$search:"efg"}}

因此,尝试将代码更新为:

c.EnsureIndexKey("abc")
c.Find(bson.M{"$text": bson.M{"$search": "efg"}})

请记住,要使用搜索$text,您需要指定一个索引。查阅说明如何使用该文档的文档:http
:
//docs.mongodb.org/manual/reference/operator/query/text/

2020-07-02