FindIterable <Document>如何获取查询结果中的总记录

jeo*_*vre 6 java mongodb

我在java 2.x上使用mongo驱动程序并传递给3.1. DBCursor已弃用,我不得不使用该FindIterable<Document>结构.

当我执行查询时

FindIterable<Document> cursor=(mongo).getCollection().find(findArgs).limit(10).skip(0);
Run Code Online (Sandbox Code Playgroud)

我想获得结果集中记录总数的计数,查询只在一个查询中找到.

如何在不执行其他查询的情况下检索计数? 我不是说限制中的10条记录,而是记录总数.

我想执行一个查询来检索计数和查找.我不想执行查找和计数.

谢谢

小智 1

有可用的计数方法。它接受 Bson 过滤器。所以拿到集合对象后,就可以直接放入count函数了。

MongoCollection<Document> collection = db.getCollection(collectionName);
long totalFilteredRecords = collection.count("field","value");
Run Code Online (Sandbox Code Playgroud)