如何使用 Java MongoOperations 计算 Mongodb 集合的数据大小?

How to calculate the data size of the Mongodb collection using Java MongoOperations?

Mongodb 有一个 mongo shell 命令 db.getCollection('myCollection').dataSize() 到 return 给定集合的数据大小。但是,这不适用于 Spring.

中的 MongoOperations getCollections()

为了解决这个问题,我尝试过:

myMongoOpObject.executeCommand("db.getCollection(collectionName).dataSize()");

但是,这不起作用。没有错误或控制台打印。任何帮助将不胜感激。

使用以下语法

 List<MyCollection> list = mongoOperation.findAll(MyCollection.class);
 System.out.println("Number of records = " + list.size());

您需要 collStats 命令,请参阅此处:https://docs.mongodb.com/manual/reference/command/collStats/

Document stats = operations.executeCommand(new Document("collStats", "collectionName"));
System.out.println(stats.get("count"));
System.out.println(stats.get("avgObjSize"))
System.out.println(stats.get("storageSize"))