【发布时间】:2013-03-23 20:09:56
【问题描述】:
我有一个返回 3 个结果的聚合
{ "serverUsed" : "/127.0.0.1:27017" , "result" : [ { "_id" : "luke" , "times" : 56} , { "_id" : "albert" , "times" : 28} , { "_id" : "matt" , "times" : 28}] , "ok" : 1.0}
但是当我尝试迭代结果时,代码进入了一个无限循环(不明白为什么!!)
AggregationOutput output = coll.aggregate( match1, unwind, match2, group, sort, limit);
Iterable<DBObject> list= output.results();
while(list.iterator().hasNext()){
String id = (String) list.iterator().next().get("_id");
int times = Integer.parseInt(list.iterator().next().get("times").toString());
System.out.println("ID IS "+id+" time: "+times);
}
输出也重复第一个结果:
ID IS luke time: 56
ID IS luke time: 56
ID IS luke time: 56
ID IS luke time: 56
ID IS luke time: 56
...
我真的不明白为什么这个迭代不起作用。请帮忙!
【问题讨论】:
标签: java mongodb pojo aggregation-framework