mongodb MongoCursor没有count()方法?

mrzz3bfm  于 2023-01-25  发布在  Go
关注(0)|答案(2)|浏览(178)

所以我的代码是:

FindIterable<Document> findIterable = collection.find().skip(20).limit(10);
MongoCursor<Document> cursor = findIterable.iterator();
while (cursor.hasNext()) {
    Document doc = cursor.next();
    // My stuff with documents here
}
cursor.close(); // in finally block

现在我想知道skiplimit之前的文档的total count
有一个answer for exact same question,但是我有mongo-java-driver v3.1.0,我用的API不一样。FindIterableMongoCursor类中没有count()size()方法。谢谢!

    • 更新**

看起来唯一的解决方法是再次调用mongodb:collection.count如@菲利普所说

qni6mghb

qni6mghb1#

现在可以在MongoCollection中找到计数方法:

int count = collection.count();

返回集合中的文档总数。

int count = collection.count(criteria);

返回集合中与给定条件匹配的文档数。

a64a0gku

a64a0gku2#

您应该使用MongoCollection.countDocuments(Bson filter)来计算文档的确切数量。您还可以传递额外的参数CountOptions options并指定偏移量、限制。MongoCollection.countDocuments
如果您需要更快的响应速度,并且不一定需要确切的数量,您也可以使用MongoCollection.estimatedDocumentCount() MongoCollection。estimatedDocumentCount

相关问题