node.js - 蒙哥错误: must have $meta projection for all $meta sort keys using Mongo DB Native NodeJS Driver

标签 node.js mongodb mongodb-query full-text-search node-mongodb-native

直接在 MongoDB 上运行以下文本搜索不会产生任何问题:

db.getCollection('schools').find({
  $text:
    {
      $search: 'some query string',
      $caseSensitive: false,
      $diacriticSensitive: true
    }
}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})

然而,当尝试使用 native NodeJS driver 运行相同的查询时:

function getSchools(filter) {
  return new Promise(function (resolve, reject) {

    MongoClient.connect('mongodb://localhost:60001', function(err, client) {
      const collection = client.db('schools').collection('schools');

      collection.find({
        $text:
          {
            $search: filter,
            $caseSensitive: false,
            $diacriticSensitive: true
          }
        }, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}}).toArray(function(err, docs) {
        if (err) return reject(err);

        resolve(docs);
      });
    });
  });
}

我收到以下错误:

MongoError: must have $meta projection for all $meta sort keys

我在这里做错了什么?

最佳答案

好的,根据this bug自版本 3.0.0 findfindOne no longer support fields 参数和查询需要重写如下:

collection.find({
        $text:
          {
            $search: filter,
            $caseSensitive: false,
            $diacriticSensitive: true
          }
        })
        .project({ score: { $meta: "textScore" } })
        .sort({score:{$meta:"textScore"}})

关于node.js - 蒙哥错误: must have $meta projection for all $meta sort keys using Mongo DB Native NodeJS Driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48975707/

相关文章:

node.js - npm 错误! tarball.destroy 不是函数

javascript - 如何按 Meteor 中计算的属性/虚拟属性排序?

mongodb - 如何检索Mongodb中数组中存在的所有匹配元素?

javascript - 将 Node 检查器与 Grunt 任务一起使用

sql-server - Amazon SQS 是处理分析日志数据到数据库的好工具吗?

arrays - 合并一个数组中的两个对象,一个对象的键嵌套比另一个对象在 Mongo DB 中的同一文档中嵌套得更深

MongoDB Aggregate - 匹配集合 A 中存在但集合 B 中不存在的文档

mongodb - 如何按条件聚合结果

node.js - Swig-模板默认扩展名

java - mongodb:存储分层树结构?