0

このばかげた質問で申し訳ありませんが、この主題から、非ブロッキングデータベース呼び出しを処理するときに反復可能なカーソルを実装するのは難しいと感じています。

それで、なぜそうなのか、そしてなぜそれがPymongoカーソルと異なるのか; 言い換えれば、なぜ次のメソッドを非ブロッキングmongodbライブラリに入れることができないのでしょうか?

そして、これはメソッドに影響しますか?たとえば、MongoTorにメソッドfind()がない場合でも、制限して続行するときに反復がありますか?next()limit()skip()

これは竜巻グループに関するこれに関する関連トピックです

4

1 に答える 1

1

Pythonドライバーはわかりませんが、next非ブロッキングドライバーは将来の結果しか返さないため、ドキュメントを返すメソッドを取得できません。

MongoDBはドキュメントのバッチを提供します。これは、バッチ全体を消費したときに、次のバッチをフェッチできることを意味します。これをブロックしない方法は、ドキュメントの将来のバッチを返すことです。

より優れたAPIを設計するにはさまざまな方法があります。その中には、Iteratee / Enumeratorパターンがあります。これは、MongoDB用の非ブロッキングのリアクティブScalaドライバーであるReactiveMongoの場合です。

于 2012-11-12T23:12:02.863 に答える