3

假设我有非常大的收藏,我选择它

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

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

4

1 回答 1

2

Jongo在引擎盖下MongoCursor使用 Mongo 的常规。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 回答