【问题标题】:Why do I get slaveOkay = 0; Timeout = 30000 MongoPHP为什么我得到 slaveOkay = 0;超时 = 30000 MongoPHP
【发布时间】:2013-11-01 11:03:21
【问题描述】:

我正在使用 Mac、netbeans、x-debug 和 Mongo PHP。我正在尝试运行基本搜索,例如:

$results = $mongo->$col->find();

但是在调试过程中,$results 的值是 slaveOkay = 0 和 timeout = 30000。为什么会这样?有关已安装工具的一些版本信息是:

PHP 5.4.20 (cli) (build: Sep 24 2013 10:10:10) (DEBUG) 版权所有 (c) 1997-2013 PHP Group Zend Engine v2.4.0,版权所有 (c) 1998-2013 禅德科技 使用 Xdebug v2.2.3,版权所有 (c) 2002-2013,作者 Derick Rethans

MongoDB shell 版本:2.4.6

谢谢。

【问题讨论】:

  • 这些似乎是属于驱动程序自己管理的值......这些值看起来如何?你能迭代实际的结果集吗?
  • 不,除了:slaveOkay boolean 0 和 timeout 30000 之外,属性 $results 中没有其他内容。没有其他结果,也没有错误。这些值正是我在调试模式下在 $results 变量中看到的值。

标签: php mongodb xdebug


【解决方案1】:

$col 变量从何而来? 而$mongo从何而来?

查询集合的正确方法是

<?php
$mongo = new MongoClient(...);
$collection = $mongo->databaseName->collectionName;
$results = $collection->find();
?>

然后你可以像这样遍历$results

foreach($results as $document) {
    /* Do something with $document */
}

请参阅http://php.net/mongocollection.findhttp://php.net/mongo.queries 了解更多详情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2015-12-03
    • 2019-11-09
    • 1970-01-01
    相关资源
    最近更新 更多