我不能为我的生活找到如何使用mongo db中的java驱动程序计算查找查询。有人可以把我从痛苦中解救出来吗?
我有以下内容:
MongoCursor<Document> findRes = collection.find().iterator();
但是我找不到任何计数方法。
答案 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