MongoShell правильно возвращает документы по запросу блока.
Кроме того, со старым драйвером (2.x) он выдает то же исключение в dbcursor.next (); Использование кода ниже (с 3.11 драйвером Mongojava для извлечения всех документов в коллекции:
Document query1 = new Document();
query1.append("location.geo.coordinates", new Document()
.append("\$geoWithin", new Document()
.append("\$box", Arrays.asList(
Arrays.asList(
-124.482003,
32.528832
),
Arrays.asList(
-114.131211,
42.0095169
)
)
)
)
);
Block<Document> processBlock = new Block<Document>() {
@Override
public void apply(final Document document) {
}
};
collections.find(query1).forEach(processBlock);