本文介绍了在MongoDB中按多个字段分组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的文档结构:
{ "ip_address" : "192.168.133.12", "timestamp" : "2014-08-28T06:41:24", "response" : 400, "uri" : { "term" : "Something", "page" : "10", "category" : "category 10" } }如果我想对单个字段响应"进行分组,请按照以下步骤操作:
If I want to do groupby on a single field 'response' I will do it as follows:
db.collName.aggregate({ $group : {_id : "$response", total : { $sum : 1 }} });如何将2个字段分组或说3个字段?是否可以对多个字段进行分组,以使它们形成具有相似值的汇总?
How do I group by 2 or say 3 fields? Is it possible to groupby multiple fields, so that they form a aggregate with similar values?
我的意思是这样的:
{ "result" : [ { "_id" : "responseValue" + "ip_addressValue", "totaling" : 3 } ], "ok" : 1 }推荐答案
是的,您可以执行以下操作
Yes possible, you could do something like below
db.collName.aggregate({ $group : { "_id" : {"response":"$response", "ip_address":"$ip_address"}, total : { $sum : 1 } } });更多推荐
在MongoDB中按多个字段分组
发布评论