MongoDB - 如何获取查找查询的计数

时间:2015-11-28 18:40:58

标签: java mongodb

我不能为我的生活找到如何使用mongo db中的java驱动程序计算查找查询。有人可以把我从痛苦中解救出来吗?

我有以下内容:

MongoCursor<Document> findRes = collection.find().iterator();

但是我找不到任何计数方法。

4 个答案:

答案 0 :(得分:5)

 public Long getTotalCount(String collectionName, Document filterDocument) {
        MongoCollection collection = database.getCollection(collectionName);
        return filterDocument != null ? collection.count(filterDocument) : collection.count();
 }

其中filterDocument是带有过滤条件的org.bson.Document,如果你想得到总计数,则为null

您也可以使用功能更强大的Filters课程。示例:collection.count(Filters.and(Filters.eq("field","value"),second condition and so on));

因此,为了能够同时将文档和过滤器作为参数,您可以将签名更改为public Long getTotalCount(String collectionName, Bson filterDocument) {

答案 1 :(得分:3)

long rows = db.getCollection(myCollection).count(new Document("_id", 10)) ;

这是Java,myCollection是集合名称。

答案 2 :(得分:0)

cursor.count()是我所相信的。您的查找查询会返回Cursor,因此您只需拨打count()即可。

答案 3 :(得分:0)

MongoDB具有内置方法count(),可以在游标上调用以查找返回的文档数。 我试着在mongodb中使用一段代码,效果很好,也可以很容易地应用于java或任何其他语言:

var findres = db.c.find() findres.count()提供了输出29353