【发布时间】:2017-10-04 13:07:21
【问题描述】:
我是 MongoDB 的新手。我在loginCollection.aggregate 中收到错误声明:
MongoCollection 类型中的方法 aggregate(List) 不适用于参数 (BasicDBObject)
以下是我的代码 sn-p。提前致谢。
public MonthlyLoginCount monthlyLoginCount() {
MonthlyLoginCount monthlyLoginCount = new MonthlyLoginCount();
Map<String, Long> map = new HashMap<String, Long>();
MongoClient mongo = new MongoClient(dataSource, 27017);
MongoCollection<Document> loginCollection = mongo.getDatabase(mongoDataBase).getCollection(loginDetailsCollection);
AggregationOutput logincount = loginCollection.aggregate(new BasicDBObject("$group",
new BasicDBObject("_id", "$email_id").append("value", new BasicDBObject("$push", "$value"))));
Iterator<DBObject> results = logincount.results().iterator();
while (results.hasNext()) {
try {
Object str = results.next().get("_id");
long count = loginCollection.count(new BasicDBObject("email_id", str.toString()));
System.out.println("email id:: " + str.toString() + " count: " + count);
map.put(str.toString(), count);
} catch (Exception e) {
e.printStackTrace();
}
}
mongo.close();
monthlyLoginCount.setMap(map);
return monthlyLoginCount;
}
【问题讨论】:
标签: mongodb collections hashmap aggregation-framework mongodb-java