我们有一个如下的集合 -(0,1,2 etc)
以块的形式批量运行作业。
每个批次将有多个具有作业的块/文档。
我们需要汇总每个批次的作业。
此后,每个批次的作业计数需要从批次的作业计数中减去'0'
。
结果将是每个批次与批次 0 的作业计数差异的数组/集合。
如果有 'x' 个批次,则数组的大小显然是 x-1。
这可以在单个聚合操作中完成吗?
{
"_id": ObjectId("xxxxxx"),
"batch": ["0"],
"jobs":2500
},
{
"_id": ObjectId("xxxxxx"),
"batch": ["1"],
"jobs":1500
},
{
"_id": ObjectId("xxxxxx"),
"batch": ["0"],
"jobs":1500
},
{
"_id": ObjectId("xxxxxx"),
"batch": ["2"],
"jobs":3500
},
{
"_id": ObjectId("xxxxxx"),
"batch": ["1"],
"jobs":500
},
{
"_id": ObjectId("xxxxxx"),
"batch": ["0"],
"jobs":1500
},
{
"_id": ObjectId("xxxxxx"),
"batch": ["3"],
"jobs":2500
},
预期输出:
[ 3500,2000,3000]