Node.js MongoDB:cursor.count()在使用排序规则时是否不准确?

Node.js MongoDB:cursor.count()在使用排序规则时是否不准确?,node.js,mongodb,Node.js,Mongodb,我正在使用Mongo中的排序规则(使用本机节点驱动程序的v3.4)对API端点进行不区分大小写的搜索。作为响应的一部分,我将有关查询的元数据发送回消费者,其中包括匹配文档的计数。在我引入排序规则之前,一切都很顺利。。。现在,cursor.count()方法似乎不包括排序规则操作匹配的文档 假设我们正在搜索一个名为“docs”的集合,该集合已过滤用户名。我们有15个文档的用户名值为“foo”,30个文档的用户名值为“foo”。代码如下所示: // 'query' is the query para

我正在使用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
当“查询”为“foo”时,记录的计数为:15(“用户名”值正好为“foo”的文档数)。然而,当“查询”为“foo”时,记录的计数为30,即“用户名”值正好为“foo”的文档数。然而,在这两种情况下,45个文档作为响应发送(根据排序规则,这是正确的)


是什么导致了这种差异?cursor.count()是否有办法反映结果的总数?

这确实是一种奇怪的行为。我创建它是为了看看这是否是一个bug。Kevin-感谢您对此进行调查并提交一份记录。很高兴看到Mongo为其产品提供的支持!