Db.stats () оболочки MongoDB в php и python

Я вижу статистику из оболочки Mongo как

db.stats()

или же

db.collection_name.stats()

Как просмотреть статистику базы данных или коллекции из PHP и Python.

РЕДАКТИРОВАТЬЯ сделал это в PHP, но все еще не могу сделать это в Python.

Помогите?

Ответы на вопрос(4)

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.

Это код PHP для выполненияdbStats команда с новым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']);
}

Вот как вы делаете это в 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?

Решение Вопроса

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

Рекомендации:

db.command ()

MongoDB: как получить db.stats () из API

 CodeSpent01 дек. 2018 г., 01:19
Кто-нибудь может подтвердить, что это и документы действительно точные? Я получаюcommand() missing 1 required positional argument: 'command' неважно, что я передаю в качестве аргумента. Это устарело и не обновляется в документах?

Ваш ответ на вопрос