0
PHP로 mongodb에서 forEach를 사용하는 효율적인 방법이 있습니까? 문제는 결과 배열의 모든 요소에 대해 CSV 파일에 새 행을 추가 할 수 있다는 것입니다. 데이터가 거대 할 수있는 가능한 솔루션의 하나가forEach mongodb PHP
$ 데이터를 사용했다, 메모리에 전체 데이터를로드, 내 문제에 대한 확장 옵션되지 않은 몽고 커서
$records = iterator_to_array($data);
$file = fopen("contacts.csv","w");
foreach ($records as $record){
fputcsv($file,$record);
}
입니다하지만. 어떤 방법으로도 forEach를 사용할 수있는 더 나은 대안이 있습니까? 몽고 PHP이 솔루션은 $ 데이터로 작동
'$ data'가'Iterator' 인터페이스를 구현하는 객체라면'$ data'에 직접'foreach'를 사용할 수 있습니다. 간단한 배열로 변환 할 필요가 없습니다. http://php.net/manual/en/class.iterator.php –
몽고 db 내에서 forEach를 사용해야합니다. –
'$ data'가 mongodb 커서임을 이해합니다. 간단하게'foreach ($ record as $ record)'를 반복하여 반복 할 수 있습니다. 이 단계에서는 배열이 될 필요는 없지만 루프 내에서'iterator_to_array ($ record)'를 호출하여'fputcsv()'와 함께 사용하고 메모리에 모두로드하는 것을 피할 수 있습니다. –