在php中调试mongodb查询和其他函数

时间:2011-05-24 00:37:03

标签: php debugging logging mongodb

你如何调试你的php mongodb代码? 例如,如果我执行:

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

如果有效,我会在$ cursor中找回数据。如果它不起作用,我会返回一个空数组()。

有没有办法看看发生了什么?也许可以为mongodb启用某种日志记录来记录错误或查询和其他命令的分析?

2 个答案:

答案 0 :(得分:1)

这个答案很短,也不太友善:不。您可以启用性能分析,但这只会有助于查看哪些查询到达服务器。 http://www.mongodb.org/display/DOCS/Database+Profiler级别2记录所有操作。

同时检查http://php.net/manual/en/mongodb.lasterror.php

答案 1 :(得分:1)

  

有没有办法看看发生了什么?

要“查看发生了什么”,请使用光标上的explain function

这将显示所使用的索引,扫描的文档数量等。解释计划的详细信息output here

  

也许可以为mongodb启用某种日志记录来记录错误或分析查询和其他命令?

要记录实际的数据库查询,请使用DB profiler。默认情况下,“慢”查询会记录到数据库日志(查询> 100毫秒),但是分析器确实可以让您更好地控制它。