【发布时间】:2017-03-03 17:59:57
【问题描述】:
我有以下结构的文档:
{
_id: 123,
machine_id: 456,
data: {
some_data: 100,
exceptions: [{
hash: 789,
value: 'something',
stack_trace: 'line 123: oops',
count: 5,
}]
}
}
{
_id: 234,
machine_id: 567,
data: {
some_other_data: 200,
exceptions: [{
hash: 789,
value: 'something',
stack_trace: 'line 123: oops',
count: 1,
}, {
hash: 890,
value: 'something_else',
stack_trace: 'line 678: ouch',
count: 3,
}]
}
}
哈希是 value 和 stack_trace 的组合(我专门添加了这个以尝试在整个集合中聚合异常)。我想运行一个查询,该查询返回每个不同的异常,以及总计数、值和堆栈跟踪。在这种情况下,结果将类似于:
[{
hash: 789,
value: 'something',
stack_trace: 'line123: oops',
count: 6,
}, {
hash: 890,
value: 'something_else',
stack_trace: 'line 678: ouch',
count: 3,
}]
我对 mongoDB 很陌生,并且正在努力获得聚合管道阶段以提供任何有意义的输出。
如果您认为有更好的方法,也欢迎 cmets 构建这些数据。
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework