列表操作是否在第一次调用时加载整个数据?
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 的常规 DBCursor
。 DBCursor
延迟加载元素(通常所有游标都这样做)。也就是说,您的整个集合不会加载到内存中,它会在您遍历光标时延迟加载。
来自 Jongo 的相关来源,其中 cursor
是 DBCursor
。
public E next() {
if (!hasNext())
throw new NoSuchElementException();
DBObject dbObject = cursor.next();
return resultHandler.map(dbObject);
}
假设我有很大的 collection 我 select 它由
MongoCursor<MyClass> answer = myCollection.find().as(MyClass.class);
Jongo/Mongo 会在第一次调用时加载整个 collection 还是在我迭代 answer
时增量加载数据?
Jongo 的 MongoCursor
在后台使用 Mongo 的常规 DBCursor
。 DBCursor
延迟加载元素(通常所有游标都这样做)。也就是说,您的整个集合不会加载到内存中,它会在您遍历光标时延迟加载。
来自 Jongo 的相关来源,其中 cursor
是 DBCursor
。
public E next() {
if (!hasNext())
throw new NoSuchElementException();
DBObject dbObject = cursor.next();
return resultHandler.map(dbObject);
}