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