dousi3362 2019-03-14 08:00
浏览 266

PHP MongoDB \ .. \ ServerException无法发送带有数据库“Model”的“getMore”命令:套接字错误或超时

Can somebody help me to fix this PHP MongoDB exception:

Failed to send "getMore" command with database "Model": socket error or timeout

It comes from query to big collection (14mils). The query looks like:

$options = [
            'noCursorTimeout' => true,
            'batchSize' => 50,
            'projection' => ['dateFrom' => 1, 'dateTo' => 1, 'ico' => 1, 'city' => 1, 'address' => 1, 'name' => 1, 'type' => 1]
        ];

$docs = $this->mapper->getCollection()->find([
            '$or' => [
                ['dateFrom' => ['$lte' => $bsonTo], 'dateTo' => NULL],
                ['dateFrom' => ['$lt' => $bsonFrom], 'dateTo' => ['$gte' => $bsonFrom]],
                ['dateFrom' => ['$gte' => $bsonFrom, '$lte' => $bsonTo]]
            ]
        ], $options); 

I set noCursorTimemout + batchSize cause at first I get Cursor not found exception. But now I have this. Thanks.

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 请问这个是什么意思?
    • ¥15 STM32驱动继电器
    • ¥15 Windows server update services
    • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
    • ¥15 模糊pid与pid仿真结果几乎一样
    • ¥15 java的GUI的运用
    • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
    • ¥15 怎么配置广告联盟瀑布流
    • ¥15 Rstudio 保存代码闪退
    • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?