提问者:小点点

forEach mongodb PHP


有没有一种有效的方法来使用在mongob与PHP,问题是能够添加一个新的行到CSV文件的结果数组中的每个元素。一个可能的解决方案是使用

$data是mongo游标

    $records = iterator_to_array($data);
    $file = fopen("contacts.csv","w");
    foreach ($records as $record){            
        fputcsv($file,$record);
    }

但是,将整个数据加载到内存中并不是解决我的问题的可伸缩选项,因为数据可能是巨大的。有没有更好的替代方法可以用forEach。如何在mongo PHP中使用forEach


共1个答案

匿名用户

$file = fopen("contacts.csv","w");
foreach ($data as $record){            
    $contact = iterator_to_array($record);    
    fputcsv($file,$contact);
}

此解决方案的工作原理是$data保持光标,循环内的迭代器_to_array()将单个记录转换为数组,并放置在CSV文件中。