小智 19
使用iterator_to_array()会使您的驱动程序立即将所有结果加载到内存中,并且您可能很容易耗尽内存.使用延迟加载的游标不会出现这种情况!
直接来自链接的文档:
Run Code Online (Sandbox Code Playgroud)<?php $cursor = $collection->find(); var_dump(iterator_to_array($cursor)); ?>...
假设在上面的例子中,
$collection是一个50GB的集合.我们当然不希望一次性将它加载到内存中,这就是游标的用途:允许客户端以点滴和单调访问集合.