您的位置:首页 > 编程语言 > Go语言

MongoTemplate使用Cursor处理大数量的数据

2017-02-15 16:09 344 查看
对于数据量巨大的情况下,使用mongoTemplate.find()方法返回一个列表,如果不分页的话恐怕比较麻烦。mongoTemplate提供了另外一种方法,使用游标逐个获取数据,同时可以指定只获取哪些域,而不是全部获取回来。

例子如下:

DBObject query = new BasicDBObject(); //setup the query criteria 设置查询条件
query.put("method", method);
query.put("ctime", (new BasicDBObject("$gte", bTime)).append("$lt", eTime));

logger.debug("query: {}", query);

DBObject fields = new BasicDBObject(); //only get the needed fields. 设置需要获取哪些域
fields.put("_id", 0);
fields.put("uId", 1);
fields.put("ctime", 1);

DBCursor dbCursor = mongoTemplate.getCollection("collectionName").find(query, fields);

while (dbCursor.hasNext()){
DBObject object = dbCursor.next();
logger.debug("object: {}", object);
//do something.
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息