繁体   English   中英

如何从Mongo java驱动程序调用db.Collection.stats()

[英]How to call db.Collection.stats() from Mongo java driver


从Mongodb客户端,我们可以使用db.Collection.stats()来获取集合的状态,例如:
+记录数(计数)
+磁盘大小(storageSize)
+索引(indexSizes)
+平均对象大小(avgObjSize)

现在我想用Mongodb java驱动程序监控来自Web后端的这些数据,请告诉我如何获取它们?

我已经提到: http//mongodb.github.io/mongo-java-driver/3.0/driver-async/getting-started/quick-tour-admin/但这对我来说还不够。

谢谢!

@Yoshiya(对不起,没有足够的代表评论许可)

这适用于3.2驱动程序(由Mongo人员Kay Kim提供)

MongoDatabase database = mongoClient.getDatabase("mydb");
Document stats = database.runCommand(new Document("collStats", "myCollection"));

使用CommandResult在java检查下面的代码中查找collection stat

Mongo mongo = new Mongo("localhost", 27017);
DB db = mongo.getDB("data base name");
CommandResult resultSet = db.getCollection("collectionName").getStats();
System.out.println(resultSet);
System.out.println(resultSet.get("count"));
System.out.println(resultSet.get("avgObjSize"))

这将有效:

CommandResult resultSet = db.getCollection("emp").getStats();
        System.out.println(resultSet);

你将获得status.ouput的所有细节:

{ "ns" : "test.emp" , "count" : 2 , "size" : 96 , "avgObjSize" : 48 , "numExtents" : 1 , "storageSize" : 8192 , "lastExtentSize" : 8192.0 , "paddingFactor" : 1.0 , "paddingFactorNote" : "paddingFactor is unused and unmaintained in 3.0. It remains hard coded to 1.0 for compatibility only." , "userFlags" : 1 , "capped" : false , "nindexes" : 1 , "indexDetails" : { } , "totalIndexSize" : 8176 , "indexSizes" : { "_id_" : 8176} , "ok" : 1.0}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM