2012-07-03 5 views
0

정렬, 정렬/그룹화없이 한 줄씩 실행하는 것이 가장 좋은 방법입니다. PHP : mongoDB - 반복 처리

나는, 각 라인을 읽는이 줄을 업데이트하고, 등 다음 줄

그것은 전에 읽지 않고 직접 업데이트 할 수 없습니다와 함께 갈 것입니다. "문서 별 문서"컬렉션을 효과적으로 처리 할 수있는 방법이 있습니까?

문서 수는 약 150Mio이며이 작업을 처리하는 빠른 기능이 있기를 바랍니다.

들으 당신이 모든 문서에 동일한 갱신을하지 않는

답변

1

, 당신은 라인으로이 줄을 실행해야합니다. 물론 여러 스레드/프로세스를 사용하여 모든 문서를 업데이트 할 수 있습니다. 이 경우 문서가 두 번 업데이트되지 않도록하십시오.

+0

즉 thread/프로세스를 제외하고 각 문서에 대해 collection.find() + .update()에 대한 대안이 없습니다. 인덱스가 아닌 필드에서 선택하면 병렬 프로세스를 처리 할 수 ​​있지만 실제로 스레드가 더 빠르면 확실하지 않습니다. 각 문서의 프로세스는 CPU에 대해 "비용이 많이 드는"것이 아니라 각 문서에서 동일한 작업이 아닙니다 ... nosql과 같이 멋지지 않습니다. / – ledy