如何解决MongoDB PHP中的“例外:聚合结果超出最大文档大小(16MB)”错误

时间:2019-04-04 13:30:52

标签: php mongodb yii

我正在尝试在mongodb上执行聚合并抛出此错误!

例外:聚合结果超出了最大文档大小(16MB)。

我正在使用以下详细信息:

PHP版本5.4.7

驱动程序MongoDB PHP版本1.3.2RC1

MongoDB 2.6.12版本

  

版本=> 2.6.12,targetMinOS => Windows 7 / Windows Server 2008 R2,javascriptEngine => V8,位=> 64,maxBsonObjectSize => 16777216

我的收藏集是+ 200k文档。

  

Yii :: app()-> bd-> $ collection-> aggregate($ pipeline);

我尝试过:

  

$consulta =Yii::app()->bd->command(array('aggregate' => $collection,'pipeline' => $pipeline,'allowDiskUse' => true,'cursor'=> array('batchSize' =>10)))

,并且仅返回包含前10个文档的第一批:

  

[id] => 4272376035505,[ns] =>集合,[firstBatch] =>数据

不返回secondBatch ... xxxBatch

我尝试使用以下方法进行第二批处理(secondBatch ... xxxBatch)(https://derickrethans.nl/cursors-in-mongodb.html):

  

$ consulta-> getNext();

并返回:

致命错误:在非对象in上调用成员函数getNext()。

还尝试使用$ out:

  

{“ $ out”:“ nombre-algunacolección”}

我创建了集合,但是它们并没有填充我的文档,它们是动态集合,并且不能帮助我为每个动态集合创建辅助集合。

我不想先对文档进行计数,然后跳过跳过的限制,即限制为500 in 500

  

我希望能够一次将所有批次都带有“ batchSize”或所有数据

0 个答案:

没有答案