在Django的默认数据库驱动程序中,有一个针对django.db.connection.queries
中的数据库的原始查询列表。如何记录pymongo查询?
在MongoDB驱动程序pymongo中是否有类似的东西可以在单个Django http往返中打开?
更具体地说,我有一个useful middleware,它显示了Django支持的RDB的SQL查询列表,我希望对使用pymongo的API堆栈也有同样的事情。
在Django的默认数据库驱动程序中,有一个针对django.db.connection.queries
中的数据库的原始查询列表。如何记录pymongo查询?
在MongoDB驱动程序pymongo中是否有类似的东西可以在单个Django http往返中打开?
更具体地说,我有一个useful middleware,它显示了Django支持的RDB的SQL查询列表,我希望对使用pymongo的API堆栈也有同样的事情。
创建我自己的Django中间件,仪器pymongo.connection.Connection._send_message()
将查询记录到Django的connection.queries
中。
存储为sql_mongodb_dump_middleware.py在任何有兴趣的要点,欢迎评论。
您还可以运行:
的mongod -vv(或更多-vvvvv)
让服务器日志的查询。
看看这个线程:
https://groups.google.com/forum/?fromgroups=#!topic/mongodb-user/OKlfkDjZFso
它有一些有趣的见解。它指向:http://www.mongodb.org/display/DOCS/Database+Profiler,它展示了一些本地mongo函数来记录查询,特别是慢速查询。
但是,这将记录所有的查询,这真的不是我想要的。因为我只想得到在特定请求往返中使用的查询。 – Evgeny 2012-09-10 22:01:44