【发布时间】:2019-10-19 19:15:09
【问题描述】:
无法弄清楚如何在 Mongoengine 中获取 db.stats。 我试过了:
db = MongoEngine()
db.stats()
还有
db.Document.objects.stats()
db.Document.stats()
也尝试执行 JS,但没有任何效果,文档也很差。
【问题讨论】:
标签: python mongodb mongoengine flask-mongoengine
无法弄清楚如何在 Mongoengine 中获取 db.stats。 我试过了:
db = MongoEngine()
db.stats()
还有
db.Document.objects.stats()
db.Document.stats()
也尝试执行 JS,但没有任何效果,文档也很差。
【问题讨论】:
标签: python mongodb mongoengine flask-mongoengine
MongoEngine 是 PyMongo 的包装器。因此,要使用 mongoengine 获取 mongo 数据库的统计信息,您可以使用 pymongo 命令功能在数据库上运行“dbstats”mongodb api 命令,如下所示:
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)
【讨论】:
db.stats是mongo's shell method
你可以试试这样的:
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))
【讨论】: