同じカーソルを使用してオブジェクトを数回反復処理しているため、オブジェクトをメモリに保持する方が高速であると想定しています。
で使用する前にすべてのオブジェクトを配列に入れようとしましたobjects = cursor.to_a
が、データがダウンロードされるのを待っている間、呼び出しはそれ以上の計算をブロックし、最終的には遅くなります。
私が考えた別の方法は、計算を行っているときにドキュメントを配列に追加し、その配列を使用してさらに計算を行うことです。これはかなり汚れていて、維持するのが難しいですが。
すでにこれを行っているコードはありますか?