【问题标题】:debugging mongodb queries and other functions in php在php中调试mongodb查询和其他功能
【发布时间】:2011-08-31 13:37:58
【问题描述】:

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

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

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

有什么方法可以查看发生了什么吗?也许可以为mongodb打开某种日志记录错误或分析查询和其他命令?

【问题讨论】:

    标签: php debugging logging mongodb


    【解决方案1】:

    有什么方法可以查看发生了什么?

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

    这将提供使用的索引、扫描的文档数量等的指示。解释计划的详细信息output here

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

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

    【讨论】:

      【解决方案2】:

      这个答案会很简短而且不太友好:不。您可以打开分析,但这仅有助于查看到达服务器的查询。 http://www.mongodb.org/display/DOCS/Database+Profiler 2 级记录所有操作。

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

      【讨论】:

      • 嗯...如果存在MongoDB::lastError(),为什么答案是no
      • 因为“可以为 mongodb 打开某种日志记录以记录错误或分析查询和其他命令”——没有这样的事情。有时我也希望有一些东西——比如 N 个文档匹配标准 X ,M 个文档匹配标准 X 和 Y 等等。
      猜你喜欢
      • 2015-01-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2019-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多