2012-01-08 82 views
2

在Django的默认数据库驱动程序中,有一个针对django.db.connection.queries中的数据库的原始查询列表。如何记录pymongo查询?

在MongoDB驱动程序pymongo中是否有类似的东西可以在单个Django http往返中打开?

更具体地说,我有一个useful middleware,它显示了Django支持的RDB的SQL查询列表,我希望对使用pymongo的API堆栈也有同样的事情。

回答

5

创建我自己的Django中间件,仪器pymongo.connection.Connection._send_message()将查询记录到Django的connection.queries中。

存储为sql_mongodb_dump_middleware.py在任何有兴趣的要点,欢迎评论。

0

您还可以运行:

的mongod -vv(或更多-vvvvv)

让服务器日志的查询。

看看这个线程:

https://groups.google.com/forum/?fromgroups=#!topic/mongodb-user/OKlfkDjZFso

它有一些有趣的见解。它指向:http://www.mongodb.org/display/DOCS/Database+Profiler,它展示了一些本地mongo函数来记录查询,特别是慢速查询。

+0

但是,这将记录所有的查询,这真的不是我想要的。因为我只想得到在特定请求往返中使用的查询。 – Evgeny 2012-09-10 22:01:44