MongoDB shell's db.stats() in php and python
This is how you do it in Python
if you are using the PyMongo
driver:
connection = pymongo.Connection(host = "127.0.0.1", port = 27017)db = connection["test_db"]test_collection = db["test_collection"]db.command("dbstats") # prints database stats for "test_db"db.command("collstats", "test_collection") # prints collection-level stats for "test_collection" under "test_db".
References:
This is how you do it in PHP
$con= new Mongo()$stats=$con->dbName->command(array('dbStats' => 1)); // for db.stats()$stats=$con->dbName->command(array('collStats' => 'collection_name')); // for db.collection_name.stats()
But how to do this in python?
The easiest way I have found to do this with a Mongoengine model was this:
import mongoenginefrom models import MyModelconnection = mongoengine.connection.get_connection()db = connection[MyModel._get_db().name]stats = db.command("collstats", MyModel._get_collection_name())
This should allow transparent changes in the collection and database using mongoengine's config settings.