MongoDB shell's db.stats() in php and python MongoDB shell's db.stats() in php and python php php

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:

  • db.command()
  • MongoDB: how to get db.stats() from API

  • 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.