12

Mongo シェルからの統計は次のように表示されます。

db.stats()

また

db.collection_name.stats()

PHP および Python からデータベースまたはコレクションの統計を表示するにはどうすればよいですか。

編集:私はPHPでそれを行いましたが、まだPythonではできません。

ヘルプ?

4

4 に答える 4

17

ドライバーPythonを使用している場合は、次のようにします。PyMongo


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

参考文献:

  • デシベル.コマンド()
  • MongoDB: API から db.stats() を取得する方法
  • 于 2012-08-17T23:05:04.910 に答える
    9

    これは、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()
    

    しかし、Pythonでこれを行う方法は?

    于 2012-07-25T13:23:11.080 に答える
    0

    Mongoengine モデルでこれを行う最も簡単な方法は次のとおりです。

    import mongoengine
    from models import MyModel
    
    connection = mongoengine.connection.get_connection()
    db = connection[MyModel._get_db().name]
    stats = db.command("collstats", MyModel._get_collection_name())
    

    これにより、mongoengine の構成設定を使用して、コレクションとデータベースの透過的な変更が可能になります。

    于 2015-06-30T22:13:32.090 に答える
    0

    これは、新しいドライバーdbStatsでコマンドを実行するための PHP コードです。MongoDB

    $mongo = new \MongoDB\Driver\Manager('mongodb://localhost:27017');
    $cmdstats = new \MongoDB\Driver\Command(['dbStats' => 1]);
    $dbstats = $mongo->executeCommand('databaseName', $cmdstats);
    $dbstats->setTypeMap(array(
        'array' => 'array',
        'document' => 'array',
        'root' => 'array'
    ));
    
    // There must be only one item in $dbstats
    
    foreach ($dbstats as $dbs)
    {
        echo($dbs['dataSize']);
    }
    
    于 2017-10-25T14:47:02.180 に答える