说明: 我的mongodb数据如下:
{ "_id" : "5620150715", "timeStamp" : NumberLong("1436889600000"), "userId" : 56, "WorldAmounts" : [ { "count" : NumberLong(10), "Address" : "aaa" }, { "count" : NumberLong(20), "Address" : "bbb" } ], "Amounts" : [ { "count" : NumberLong(10), "ipAddress" : "aaa" }, { "count" : NumberLong(20), "Address" : "bbb" } ], "date" : "20150715", "localAmounts" : [ ] }
问题:
如何按all项分组,键是“userId
”和WorldAmounts
中的“Address
”?你知道吗
测试数据如下:
[{'userId':1, 'localA': [{'address':'A','count':7},{'address':'B', 'count':10}], 'localB': [{'address':'X','count':5}], 'localALL':[{'address':'A','count':7},{'address':'B', 'count':10},{'address':'X','count':5}]},{'userId':2, 'localA': [{'address':'A','count':7},{'address':'B', 'count':10}], 'localB': [{'address':'X','count':5}], 'localALL':[{'address':'A','count':7},{'address':'B', 'count':10},{'address':'X','count':5}]},{'userId':1, 'localA': [{'address':'C','count':7}], 'localB': [{'address':'X','count':5}], 'localALL':[{'address':'A','count':7},{'address':'B', 'count':10},{'address':'X','count':5}]}]
结果如下:
如果userId
是diff not use groupby,则localALL
是LocalA + LocalB
,如果相同的address
值,则count
的和将附加本地
[{'userId':1, 'localA': [{'address':'C','count':7},{'address':'A','count':7},{'address':'B', 'count':10}], 'localB': [{'address':'X','count':10}], 'localALL':[{'address':'A','count':7},{'address':'B', 'count':10},{'address':'X','count':10}]},
{'userId':2, 'localA': [{'address':'A','count':7},{'address':'B', 'count':10}], 'localB': [{'address':'X','count':5}], 'localALL':[{'address':'A','count':7},{'address':'B', 'count':10},{'address':'X','count':5}]}
]
thx alfasin的建议最好的简单例子如下:
输入: [{'abs':1,'lad':[{'count':2,'desc':'A'},{'count':3,'desc':4}}, {'abs':1,'lad':[{'count':3,'desc':'A'},{'count':1,'desc':5}]
输出:
[{'abs':1,'lst':[{'count':5,'desc':3},{'count':3,'desc':4},{'count':1,'desc':5}]
目前没有回答
相关问题 更多 >
编程相关推荐