列表操作是否在第一次调用时加载整个数据?

Does list operations load whole data at first call?

假设我有很大的 collection 我 select 它由

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

Jongo/Mongo 会在第一次调用时加载整个 collection 还是在我迭代 answer 时增量加载数据?

Jongo 的 MongoCursor 在后台使用 Mongo 的常规 DBCursorDBCursor 延迟加载元素(通常所有游标都这样做)。也就是说,您的整个集合不会加载到内存中,它会在您遍历光标时延迟加载。

来自 Jongo 的相关来源,其中 cursorDBCursor

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

    DBObject dbObject = cursor.next();
    return resultHandler.map(dbObject);
}