MGO:无法规范化查询:BadValue 未知运算符:$meta

我正在使用 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 时,它会起作用。


互换的青春
浏览 171回答 1
1回答

有只小跳蛙

这里的问题是您使用 BSON“地图”作为参数,将“投影”作为“查询”的一部分。而是使用.Select()链接中的方法进行投影:collection.Find(    bson.M{ "$text": bson.M{ "$search": "mysearch" } }).Select(     bson.M{ "score": bson.M{ "$meta": "textScore" } })就像在标准 API 示例中一样,“查询”和“投影”部分彼此“分开”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go