Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

java

mongodb


From Mongodb client, we can use db.Collection.stats() to get status of collections, such as:
+ Number of records (count)
+ Size on disk (storageSize)
+ Indexes (indexSizes)
+ Average object size (avgObjSize)

Now I want to monitor these data from web backend with Mongodb java driver, please let me know how to get them?

I've referred: http://mongodb.github.io/mongo-java-driver/3.0/driver-async/getting-started/quick-tour-admin/ but it's not enough information for me.

Thanks!

like image 398
nhthai Avatar asked Dec 05 '22 03:12

nhthai


1 Answers

@Yoshiya (sorry, don't have enough rep for comment permission)

This works for me on 3.2 driver (kindly provided by Kay Kim from the Mongo folks)

MongoDatabase database = mongoClient.getDatabase("mydb");
Document stats = database.runCommand(new Document("collStats", "myCollection"));
like image 130
beluga Avatar answered Dec 06 '22 20:12

beluga