나는 같은 커서를 몇 번 사용하여 객체를 반복하므로 객체를 메모리에 보관하는 것이 더 빠를 것이라고 가정합니다.몽고 객체를 커서로 반복하여 유지 한 후 메모리에 유지하기
objects = cursor.to_a
과 함께 사용하기 전에 모든 객체를 배열에 넣으려고했으나 데이터가 다운로드 될 때까지 기다리는 동안 호출이 더 이상 계산을 차단하고 궁극적으로 속도가 느립니다.
내가 생각한 또 다른 방법은 계산을 할 때 배열에 문서를 추가 한 다음 추가 계산을 수행 할 배열을 사용하는 것입니다. 이것은 꽤 부정하고 유지하기가 어렵지만.
이미이 작업을 수행하는 코드가 있습니까?
당신이 두 번째 솔루션은 당신이이 없기 때문에 유지하기 어렵다는 말한다면 첫 번째 "계산"루프, 당신은 개체를 캐싱에 대해 생각 해 봤나? 이렇게하면 모든 루프에서 이미 캐시에 개체가 있는지 확인하고 사용하는 경우 확인합니다. 항상 첫 번째 루프가있는 경우 말한대로 한 번의 계산을 수행 할 때마다 배열에 객체를 추가 할 수 있습니다. –