node-mongo-nativecollection.find()
関数のドキュメントには、一致するドキュメントを遅延して返すカーソル オブジェクトを作成すると書かれています。さらに:
カーソルに対する基本的な操作は
nextObject
、次に一致するドキュメントをデータベースから取得する方法です。カーソルが使い果たされるまで便利なメソッドeach
とtoArray
呼び出し。nextObject
残念ながら、ドキュメントには、カーソルが実際に使い果たされたときを判断する方法が示されていません。「toArray」メソッドを使用して標準の配列インターフェイス (「length」メソッドなど) を使用することもできますが、このソリューションは大量のデータのストリーミングには適していません。MongoDB API Wiki はcursor.hasNext()
mongo シェルで参照していますが、このメソッドは node.js ドライバーでは使用できないようです。
node.js で MongoDB からデータをストリーミングしているときに、カーソルが使い果たされたタイミングをどのように判断できますか?