我有一些像这样的mongo文档:
{
"worker_id" : "x",
"minutes": [
{"min" : 10, "capacity" : 15},
{"min" : 10, "capacity" : 12},
{"min" : 12, "capacity" : 13},
{"min" : 12, "capacity" : 12}
]
}
我想将这些文档转换成这样的东西:
{
"worker_id" : "x",
"minutes" : [
{
"min" : 10,
"capacities": [15,12]
},
{
"min" : 12,
"capacities": [13,12]
}
]
}
我对此一无所知,不胜感激。
布鲁日。
答案 0 :(得分:0)
您可以尝试以下汇总
db.collection.aggregate([
{ "$unwind": "$minutes" },
{ "$group": {
"_id": { "worker_id": "$worker_id", "minutes": "$minutes.min" },
"capacities": { "$push": "$minutes.capacity" }
}},
{ "$group": {
"_id": "$_id.worker_id",
"minutes": {
"$push": {
"min": "$_id.minutes",
"capacity": "$capacities"
}
}
}},
{ "$project": { "worker_id": "$_id", "minutes": 1, "_id": 0 }}
])