mongodb - typeorm mongo 全文搜索 - 按 $meta : "textScore" 排序

标签 mongodb full-text-search typeorm

我正在使用 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/

相关文章:

node.js - 如何在TypeORM中使用订阅者?

mongodb - 传入TypeORM MongoDB ObjectIdColumns的未定义时禁用ID的自动生成

ruby-on-rails - Mongoid 批量收集插入 : how to get the ids of the newly created items?

javascript - 查找文档中引用的人员

sql-server-2008 - 在 SQL Server 2008 中使用空格进行全文搜索

php - PHP 搜索时漏掉一个字符怎么办?

mongodb - 使用 SSL 编译 MongoDB 的文件结束/伪操作错误

javascript - 创建 NodeJS + Mongo DB MVC,有什么想法如何开始吗?

mongodb - 使用 mongodump 和 mongorestore 后数据丢失?

typescript - 在 TypeORM 单表继承中更新实体的类型