mongo 类的 PHP 文档说使用游标而不是iterator_to_array
更好。
为什么?我将从中获得什么好处/灵活性?
Usingiterator_to_array()
使您的驱动程序一次将所有结果加载到内存中,并且您很容易耗尽内存。使用延迟加载的游标不会出现这种情况!
直接来自链接的文档:
<?php $cursor = $collection->find(); var_dump(iterator_to_array($cursor)); ?>
...
假设在上面的示例中,
$collection
是一个 50GB 的集合。我们当然不希望一次将它全部加载到内存中,这就是游标的用途:允许客户端访问点点滴滴的集合。