3
我有一个使用MongoDB开发的PHP应用程序来攻击数据库。我的问题是,在某些情况下,要进行查询,需要很长的时间,并引发以下错误: 可捕获的致命错误:传递给MongoCollection :: __ construct()的参数1必须是MongoDB的实例,null给出..MongoDB + PHP没有并发
即使我打开两个浏览器相同,如果我访问应用程序中的每个他们,直到没有一个浏览器就不会结束的查询,其他没有它开始。为什么没有并发?..
我使用MongoDB 2.6.5,PHP 5.3.3-7和PHP MongoDB Driver 1.6.8。
示例代码:
//Function call from Application
<php>
//Conectamos con la BBDD
$db = connectBbdd("modelo");
$mongoNci = $_SESSION["sesion_nci"];
$collection = new MongoCollection($db, 'users');
$js = "function() {
return this.Nci == '$mongoNci';
}";
$cursor = $collection->find(array('$where' => $js));
$array = iterator_to_array($cursor);
</php>
<php>
function connectBbdd($dbname){
Mongo::setPoolSize(10);
$m = new MongoClient("mongodb://ipremote:port");
$db = $m->$dbname;
return $db;
}
</php>