有没有一种有效的方法来使用在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
$file = fopen("contacts.csv","w");
foreach ($data as $record){
$contact = iterator_to_array($record);
fputcsv($file,$contact);
}
此解决方案的工作原理是$data保持光标,循环内的迭代器_to_array()将单个记录转换为数组,并放置在CSV文件中。