2012-01-08 84 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