最近在针对一个统计分析的业务实现因为需要应用到多条件聚合以及多重聚合纠结了一段时间,翻阅了许多博客终于找到了解决方案,这里总结一下;
db.getCollection('test').aggregate([
{'$match':{'test_a':{$eq:0} } },
//过滤条件
{'$group':{'_id':{user_id:'$user_id',date:'$date'} } },
//多条件分组聚合
{'$group':{'_id':'$_id.user_id','count':{'$sum':NumberInt(1)} } },
//多重分组聚合
])
Java实现Mongo多条件分组聚合:
Aggregates.group(new BasicDBObject("_id",
new BasicDBObject("user_id","$user_id").append("date", "$date"))
)

524

被折叠的 条评论
为什么被折叠?



