mongodb游标迭代性能问题
问题描述:
我有一个游标,它返回的文档大小超过35k。在Java中,我正在迭代该游标来获取文档。它需要超过20秒。任何可能的解决方案来缩短时间mongodb游标迭代性能问题
我的代码:
ArrayList<DBObject> list = new ArrayList<DBObject>()
collection = mongoDB.getCollection("locations");
cursor = collection.find();
while (cursor.hasNext()) {
list.add(cursor.next());
}
答
当你拥有它,你真的可以尝试去做的唯一的两项线相结合,减少开销的一点点。
ArrayList<DBObject> list = new ArrayList<DBObject>();
cursor = mongoDB.getCollection("locations").find();
while (cursor.hasNext()) {
list.add(cursor.next());
}
该问题可能少于代码和更多文档的大小。你需要集合中的每个文档吗?有没有办法可以过滤出一些?
如何使用[“投影”](http://docs.mongodb.org/manual/tutorial/project-fields-from-query-results/)将结果中返回的字段限制为仅限于那些你需要。或者至少如何处理“查询”条件以仅匹配所需的文档,因为您目前正在要求收集集合中的每个文档。除了这些基本条件之外,你没有给予足够的信息让人们做出真正的判断。 –