作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在使用 MGO 与 mongodb 进行通信。我想在一个集合中搜索,并按搜索分数对结果进行排序。
collection.Find(bson.M{
"$text": bson.M{"$search": "mysearch"},
"score": bson.M{"$meta": "textScore"},
})
但是我得到这个错误:
Can't canonicalize query: BadValue unknown operator: $meta (status code : 500)
当我只尝试使用 $text 时,它起作用了。
我使用与此处相同的 bson 结构: MongoDB - Can't canonicalize query: BadValue unknown operator: $meta
谢谢
最佳答案
这里的问题是您使用 BSON“ map ”作为参数,“投影”作为“查询”的一部分。而是使用 .Select()
链接投影的方法:
collection.Find(
bson.M{ "$text": bson.M{ "$search": "mysearch" } }
).Select(
bson.M{ "score": bson.M{ "$meta": "textScore" } }
)
就像在标准 API 示例中一样,“查询”和“投影”部分彼此“分离”。
关于mongodb - 氧化镁 : Can't canonicalize query: BadValue unknown operator: $meta,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31607964/
我正在使用 MGO 与 mongodb 进行通信。我想在一个集合中搜索,并按搜索分数对结果进行排序。 collection.Find(bson.M{ "$text": bson.M{"$sea
我是一名优秀的程序员,十分优秀!