mongodb得到计数而不重复查找

ada*_*ine 7 count mongodb

在MongoDb中执行查询时,我需要获取所有匹配的总计数,以及文档本身作为有限/分页子集.

我可以通过两个查询来实现目标,但我不知道如何使用一个查询来执行此操作.我希望有一个mongo功能,在某种意义上,相当于SQL_CALC_FOUND_ROWS,因为看起来有点过分需要运行两次查询.任何帮助都会很棒.谢谢!

编辑:这是执行上述操作的Java代码.

     DBCursor cursor = collection.find(searchQuery).limit(10);
     System.out.println("total objects = " + cursor.count());
Run Code Online (Sandbox Code Playgroud)

Joh*_*yHK 3

我不确定您使用的是哪种语言,但您通常可以count在作为查询结果的游标上调用一个方法find,然后使用同一游标来获取文档本身。

  • 这不太正确。该问题询问如何通过一个*查询*来完成此操作。使用“cursor.count()”实际上只是将第二个查询委托给客户端驱动程序,但第二个查询仍然执行。 (8认同)