2012-07-25 16 views
6

mogę zobaczyć statystyki z Mongo muszli jakoMongoDB Shell() w PHP i Python

db.stats() 

lub

db.collection_name.stats() 

Jak wyświetlić statystykę bazy danych, lub orzeczenia kolekcja, z PHP i Python.

EDIT: Zrobiłem to w PHP, ale nadal nie mogę tego zrobić w Pythonie.

Pomoc?

+0

Należy przyjąć odpowiedź, która odpowiada na pytanie edytowanego;) –

Odpowiedz

9

W ten sposób można zrobić to w Python jeśli używasz sterownika 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". 

Referencje:

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

    Dzięki za kod Pythona. – lovesh

    9

    ten sposób można to zrobić w 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() 
    

    Ale jak to zrobić w Pythonie?

    +3

    +1 Dzięki za kod PHP. –

    +0

    Thx OP dla kodu PHP dla tego. :) –

    0

    Najprostszym sposobem znalazłem to zrobić z modelu Mongoengine było to:

    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()) 
    

    To powinno umożliwić przejrzyste zmian w zakresie zbierania i bazy danych przy użyciu ustawień konfiguracyjnych mongoengine użytkownika.

    0

    Jest to kod PHP do wykonania polecenia dbStats z nowym MongoDB kierowcy:

    $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']); 
    } 
    
    Powiązane problemy