如何找到Django MongoDB正在运行的查询?

如何找到Django MongoDB正在运行的查询?,django,mongodb,Django,Mongodb,通常,在Django中,我可以通过以下方式了解对数据库运行的查询: from django.db import connections ... # run some model queries ... print connections['default'].queries 使用Django MongoDB我怎么能看到同样的事情呢?您可以使用Django的内置登录基础结构来记录数据库查询。在深入挖掘源代码之后: from django.db import connections db_wrap

通常,在Django中,我可以通过以下方式了解对数据库运行的查询:

from django.db import connections
...
# run some model queries
...
print connections['default'].queries

使用Django MongoDB我怎么能看到同样的事情呢?

您可以使用Django的内置登录基础结构来记录数据库查询。

在深入挖掘源代码之后:

from django.db import connections
db_wrapper = connections['default']
print db_wrapper.db_connection.current_op()
打印在Ren提供的链接中找到的输出:

{ inprog: [ { "opid" : 18 , "op" : "query" , "ns" : "mydb.votes" ,
    "query" : "{ score : 1.0 }" , "inLock" : 1 }
    ]
}

我不知道如何在Django中实现这一点,但您可以签出。我相信OP首先要问的问题是如何获取查询。您在那里使用的API不稳定。可能最好使用查询日志记录。这并不是为了记录日志,因为我想看看查询是什么样子的。但是,我很想知道您在哪里发现这是一个不稳定的API,因为如果API发生变化,我希望能够更新这个答案。谢谢那么,查询日志记录没有告诉您查询是什么样子的吗?在即将发布的版本中,
db\u连接
的名称已经被更改(我想是改成了
database
),但在Django Shell中,当我只是在终端中键入一些东西来玩弄一个想法时,它却没有被更改。