我正在使用 typeorm 连接到 mongodb,
typeorm 是否支持对从全文搜索 mongodb 返回的相关分数进行排序?
如所描述 here .
从 mongo,我想查询为:
db.todos.find( {$text: { $search: "coffee" }}, {score: { "$meta": "textScore" }}) .sort({score: { "$meta": "textScore" }}) .limit(20);
如何从 typeorm 从 MongoRepository 查询?谢谢你。
最佳答案
我已经测试了以下代码并且它有效:
await todoRepository.find({
where: {
$text: { $search: 'search query here' },
},
take: 20
});
附言您需要确保在 Todo 集合中的某个字段上有一个文本索引。 我不确定是否按
score
排序与 TypeORM 一起正常工作。到目前为止,我还没有取得任何成功。
关于mongodb - typeorm mongo 全文搜索 - 按 $meta : "textScore" 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63655423/