отладка mongodb запросов и других функций в php - PullRequest
1 голос
/ 24 мая 2011

Как вы отлаживаете свой код php mongodb?Например, если я выполню:

$cursor = $this->Collection->find($myQueryCriteria);

Если это сработает, я верну данные в $ курсоре.Если это не работает, я получаю обратно пустой массив ().

Есть ли какой-нибудь способ узнать, что случилось?Может быть, для mongodb может быть включено какое-либо ведение журнала для регистрации ошибок или анализа запросов и других команд?

Ответы [ 2 ]

1 голос
/ 24 мая 2011

Есть ли какой-нибудь способ увидеть, что случилось?

Чтобы "увидеть, что произошло", используйте объяснять функцию на курсоре.

Это предоставит информацию об используемом индексе, количестве отсканированных документов и т. Д. Подробная информация о плане объяснения вывод здесь .

Возможно, можно включить какую-то регистрациюдля того, чтобы mongodb регистрировал ошибки или анализ запросов и других команд?

Для регистрации реальных запросов к БД используйте Profiler DB.По умолчанию «медленные» запросы записываются в журналы БД (запросы> 100 мс), но профилировщик дает вам лучший контроль над этим.

1 голос
/ 24 мая 2011

Этот ответ будет коротким и не слишком добрым: нет.Вы можете включить профилирование, но это только помогает увидеть, какие запросы поступили на сервер.http://www.mongodb.org/display/DOCS/Database+Profiler Уровень 2 регистрирует все операции.

Также проверьте http://php.net/manual/en/mongodb.lasterror.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...