Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从Mongo java驱动程序调用db.Collection.stats()_Java_Mongodb - Fatal编程技术网

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

如何从Mongo java驱动程序调用db.Collection.stats(),java,mongodb,Java,Mongodb,从Mongodb客户端,我们可以使用db.Collection.stats()获取集合的状态,例如: +记录数(计数) +磁盘大小(存储大小) +索引(索引化) +平均对象大小(avgObjSize) 现在我想用Mongodb java驱动程序从web后端监控这些数据,请告诉我如何获取它们 我提到: 但这对我来说还不够 谢谢 使用在java中查找集合统计数据,检查以下代码: Mongo mongo = new Mongo("localhost", 27017); DB db = mongo.ge


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

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

我提到: 但这对我来说还不够

谢谢

使用在java中查找
集合统计数据
,检查以下代码:

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.output的所有详细信息:

{ "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}
@Yoshiya(抱歉,没有足够的评论权限)

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


一些代码可以帮助您了解MongoDB Java驱动程序版本3.0及更高版本(3.12+)的这一功能,使用
database.runCommand()
方法获取收集统计信息文档;看,那太好了!为我工作。请将变量cursorDoc更新为resultSet。是否有人知道如何在不使用这些不推荐的类的情况下使用MongoDB Java驱动程序3.2执行此操作?文档是org.bson.Document吗?你也可以链接你的答案或详细说明什么是collStats、myCollection等are@nullpointer-好的,我想让这个尽可能小和简洁,并假设人们只会谷歌这些问题的官方文件,但肯定。。。1.是的,它是org.bson.document2。有关统计数据,请参见:3myCollection’指的是要在其上运行‘collStats’(见上文)的mongo集合的名称,基本上这只是官方文档化的mongo命令的可用Java语法。希望有帮助。
MongoDatabase database = mongoClient.getDatabase("mydb");
Document stats = database.runCommand(new Document("collStats", "myCollection"));