3

非常に大きなコレクションがあり、それを選択するとします

MongoCursor<MyClass> answer = myCollection.find().as(MyClass.class);  

Jongo/Mongo は、最初の呼び出しでコレクション全体をロードしますか、それとも反復処理中にデータを段階的にロードしanswerますか?

4

1 に答える 1

2

Jongo'sMongoCursorはボンゴの下で Mongo's レギュラーを使用しDBCursorています。DBCursor要素を遅延して読み込みます (通常、すべてのカーソルが行うように) 。つまり、コレクション全体がメモリにロードされるのではなく、カーソルを繰り返し処理している間に遅延ロードされます。

Jongo からの関連ソースで、cursorDBCursor.

public E next() {
    if (!hasNext())
        throw new NoSuchElementException();

    DBObject dbObject = cursor.next();
    return resultHandler.map(dbObject);
}
于 2015-06-09T05:53:08.247 に答える