2012-01-08 4 views
2

Djangoのデフォルトのデータベースドライバには、データベースに対する生のクエリのリストがdjango.db.connection.queriesにあります。pymongoクエリを記録するには?

MongoDBドライバのpymongoには、Djangoの1回のhttp往復でオンにできるものはありますか?

具体的には、私はuseful middlewareにDjangoでサポートされているRDBのSQLクエリのリストを示しました.pymongoを使用するAPIスタックでも同じことをしたいと思います。

答えて

5

Djangoのconnection.queriesにクエリを記録するための楽器pymongo.connection.Connection._send_message()という独自のDjangoミドルウェアを作成しました。

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

関連する問題