我收到mongo错误:读取0字节后读取超时,等待30.000000秒,当我使用聚合排序时。
在本地它可以正常工作,但在服务器上它会出错。
我正在使用mongo 3.2
这是我的汇总
$collection->aggregate(
[
array('$unwind' => '$skills.skill'),
array('$match' => array('skills.skill.name' => $str)),
array('$unwind' => '$skills.skill.value'),
array('$sort' => array('skills.skill.value.value' => -1) ),
array('$group' => array('_id' => null, 'updates' => array('$push' => '$skills.skill.value') )),
array('$project' => array('value' => '$updates'))
],
array("allowDiskUse" => true)
);
首先,我使用不带allowDiskUse
选项的聚合,我收到错误:排序超出内存限制104857600字节,然后我添加了选项:allowDiskUse : true
我得到错误:Read timed out after reading 0 bytes, waited for 30.000000 seconds
如何解决这个问题?
我尝试了$cursor->timeout(-1)
,但没有结果。