Php mongodb错误:查询必须为空或为对象

Php mongodb错误:查询必须为空或为对象,php,mongodb,Php,Mongodb,当我运行此查询时 $count = smongo::$db->sessions->find(array(),array('cd'=>1))->count(); 我得到以下错误: Array ( [assertion] => query has to be blank or an Object [assertionCode] => 13608 [errmsg] => db assertion failure [ok] => 0 ) mongod

当我运行此查询时

$count = smongo::$db->sessions->find(array(),array('cd'=>1))->count();
我得到以下错误:

Array ( [assertion] => query has to be blank or an Object [assertionCode] => 13608 [errmsg] => db assertion failure [ok] => 0 ) 
mongodb版本2.0.6 关于php


如何解决此问题。

您收到的错误消息只能由MongoDB中的mapReduce()代码生成。这个问题最有可能的原因是您从另一个命令得到异常,而不是上面列出的find()命令


我无法使用您的代码重现此问题。我怀疑,如果您试图自己创建一个测试用例,您会发现您无法使用示例代码重现这个测试用例。仔细查找与您发布的代码示例在相同的异常捕获上下文中运行的mapReduce()命令。

这是什么驱动程序版本和PHP版本?Apache/2.2.18(Unix)PHP/5.3.6和Mongo PHP扩展版本?如果将
null
放在那里会怎么样,虽然这很奇怪,但您应该能够在其中输入一个空数组。由于我知道您的代码在
1.2.10
上运行,所以这是否发生在您的
1.2.10上。我是说,在find()的第一个参数中。我在执行此命令之前和之后都进行了清理。此页仅给出命令,尽管它仍然是一个错误。正如您所说,与MapReduce相关的错误。但我找不到解决方案。没有MapReduce函数。这并不复杂。即使在另一台运行相同功能的计算机上。也没有找到问题的解决方案,问题在另一个地方。