Моноинженерная колба с ДБстатами - PullRequest
1 голос
/ 19 октября 2019

Не могу понять, как получить db.stats в Mongoengine. Я пробовал:

db = MongoEngine()
db.stats()

Также

db.Document.objects.stats()
db.Document.stats()

Также пытался выполнить JS, но ничего не работает и документация очень плохая.

Ответы [ 2 ]

1 голос
/ 26 октября 2019

MongoEngine - это оболочка для PyMongo. Таким образом, чтобы получить статистику базы данных mongo с помощью mongoengine, вы можете запустить команду mdbodb api 'dbstats' для базы данных, используя такую ​​функцию команды pymongo:

from mongoengine import connect

client = connect()
db = client.get_database('your_database_name')
db_stats = db.command('dbstat')
coll_stats = db.command('collstats', 'your_colletion_name')
print(db_stats)
print(coll_stats)
1 голос
/ 22 октября 2019

db.stats это метод оболочки Монго

Вы можете попробовать что-то вроде этого:

from mongoengine.connection import get_connection
con = get_connection()

con.get_database().eval('db.stats()')
con.get_database().eval('db.getCollectionInfos()')

Также я советую вам исследовать объекты с помощью метода dir, иногда это может быть полезно:

from pprint import pprint
pprint(dir(con))
...