Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 列表操作是否在第一次调用时加载整个数据?_Java_Mongodb_Jongo - Fatal编程技术网

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

Java 列表操作是否在第一次调用时加载整个数据?,java,mongodb,jongo,Java,Mongodb,Jongo,假设我有一个非常大的收藏,我会选择它 MongoCursor<MyClass> answer = myCollection.find().as(MyClass.class); MongoCursor-answer=myCollection.find().as(MyClass.class); Jongo/Mongo会在第一次调用时加载整个集合,还是在我迭代answer时增量加载数据?Jongo的MongoCursor在引擎盖下使用Mongo的常规DBCursor。DBCurso

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

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

Jongo/Mongo会在第一次调用时加载整个集合,还是在我迭代
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);
}

您是否关心MongoDB(服务器端)或Jongo(客户端)的内存使用情况?我关心客户端内存使用情况-我不想将整个集合加载到应用程序memoryGetCollection不加载集合,甚至Find()都不会加载。事实上,在从数据库实际加载任何内容之前,您必须开始迭代MongoCursor,即使如此,它也不会加载整个集合,而只加载可配置大小的批