使用归类时MongoDB:cursor.count()是不准确的?

时间:2018-03-08 15:41:05

标签: node.js mongodb

我在Mongo(使用本机节点驱动程序的v3.4)中使用排序规则来对API端点进行不区分大小写的搜索。作为响应的一部分,我将有关查询的元数据发送回消费者,其中包括对匹配文档的计数。一切都工作正常,直到我介绍了排序规则......现在看来,cursor.count()方法不包括与排序规则操作匹配的文档。

请考虑我们正在搜索名为' docs'已过滤用户名。我们有15个用户名为' foo'的文档,以及30个用户名值为' Foo'的文档。代码如下所示:

// 'query' is the query params submitted to the API endpoint and then parsed for use
const cursor = db.collection('docs').find(query,
  { collation: { locale: 'en_US', strength: 2 } });

cursor.count()
  .then((count) => {
    console.log(count);
  })
  .then(//send the response

当查询'记录的计数是:15(其中'用户名'值正好' foo'的文件数量是' foo'查询是' Foo'但是,记录的计数是30,这是其用户名'值恰好是' Foo'的文档的确切数量。但是,在这两种情况下,45个文件作为回复发送(考虑到整理,这是正确的。)

造成这种差距的原因是什么? cursor.count()有没有办法反映结果的总数?

0 个答案:

没有答案