4

node-mongo-nativecollection.find()関数のドキュメントには、一致するドキュメントを遅延して返すカーソル オブジェクトを作成すると書かれています。さらに:

カーソルに対する基本的な操作はnextObject、次に一致するドキュメントをデータベースから取得する方法です。カーソルが使い果たされるまで便利なメソッドeachtoArray呼び出し。nextObject

残念ながら、ドキュメントには、カーソルが実際に使い果たされたときを判断する方法が示されていません。「toArray」メソッドを使用して標準の配列インターフェイス (「length」メソッドなど) を使用することもできますが、このソリューションは大量のデータのストリーミングには適していません。MongoDB API Wiki はcursor.hasNext()mongo シェルで参照していますが、このメソッドは node.js ドライバーでは使用できないようです。

node.js で MongoDB からデータをストリーミングしているときに、カーソルが使い果たされたタイミングをどのように判断できますか?

4

1 に答える 1

9

ドキュメントCursor#nextObjectは、コールバックの 2 番目のパラメーターは、null利用可能な結果がこれ以上ない場合であると定義されています。

最初のパラメーターには、エラーが発生した場合のエラー オブジェクトが含まれ、2 番目のパラメーターには、返された結果からのドキュメントが含まれるか、それ以上結果がない場合は null が含まれます。

于 2012-10-10T19:15:36.217 に答える