为啥我得到 slaveOkay = 0;超时 = 30000 MongoPHP
Posted
技术标签:
【中文标题】为啥我得到 slaveOkay = 0;超时 = 30000 MongoPHP【英文标题】: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 变量中看到的值。 【参考方案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.find 和http://php.net/mongo.queries 了解更多详情
【讨论】:
以上是关于为啥我得到 slaveOkay = 0;超时 = 30000 MongoPHP的主要内容,如果未能解决你的问题,请参考以下文章
redis集群配置为啥用自身ip会超时换成127.0.0.1就可以了?