2012-03-16 3 views
0

Обычно в Django я могу узнать, какие запросы в настоящее время работают с базой данных по:Как узнать, какие запросы Django-MongoDB запущены?

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

Как я мог видеть то же самое, используя Django-MongoDB?

+0

Я не знаю, как сделать это в Django, но вы можете checkout http://www.mongodb.org/display/DOCS/Viewing+and+Terminating+Current+Operation. – Ren

ответ

0

После долгого рытья через источник:

from django.db import connections 
db_wrapper = connections['default'] 
print db_wrapper.db_connection.current_op() 

печатает выход найти по ссылке, предложенной Рен:

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

это неустойчивый API, который вы используете там. вероятно, лучше обратиться за ведением журнала запросов. http://paste.pocoo.org/show/569242/ –

+0

Это не для целей ведения журнала, так как я хотел посмотреть, как выглядят запросы. Тем не менее, мне было бы интересно узнать, где вы нашли это как нестабильный API, потому что я хотел бы иметь возможность обновить этот ответ, если/когда API изменится. Благодаря! –

+0

Хорошо не запрашивает ведение журнала, показывая вам, как выглядят запросы? Имя 'db_connection' было изменено (в' database' я думаю) в следующей версии. –

0

Вы можете использовать встроенную инфраструктуру входа Django для регистрации запросов БД.

+0

Я считаю, что вопрос, задаваемый ОП, - это как получить запросы в первую очередь. –

Смежные вопросы