1
的JavaDoc DBCursor说,结果是懒惰的,从数据库中获取。但是的Java DBCursor MongoDB的
public class DBApiLayer extends DB {
...
private void init(Response res){
...
_cur = res.iterator()
...
}
Iterator<DBObject> _cur;
...
}
包含与查询相匹配的所有项目(并且他们将堆理解为我的理解)。并发的db.collection.update(...)不会更改这些对象。是存储在堆thread safe实施的所有对象?
请给我解释一下什么是“懒惰”和“线程安全”的意思是在这种情况下。
要知道懒惰抓取:您可以访问此网站http://docs.mongodb.org/manual/core/read-operations/#cursor-behaviors。 该文档说:“对于大多数查询,第一批返回101个文档或只是足够的文档超过1兆字节。后续批量大小为4兆字节。要覆盖批处理的默认大小,请参阅batchSize()和limit() “ –
你说得对。我尝试了几千条记录的小集合。我刚刚尝试了十亿条记录,并发操作改变了光标迭代的次数。谢谢 – katoquro