[
{
"_id": "MK-BLX",
"name": "菠萝熊",
"size": "小码",
"x": [
{
"qty": 20,
"type": "WV"
},
{
"qty": 20,
"type": "DV"
}
]
},
{
"_id": "MK-BLX",
"name": "菠萝熊",
"size": "标准",
"x": [
{
"qty": 100,
"type": "WV"
},
{
"qty": 100,
"type": "DV"
}
]
},
{
"_id": "MK-DX2",
"name": "黛西套件羊羔绒",
"size": "标准",
"x": [
{
"qty": 603,
"type": "WV"
},
{
"qty": 623,
"type": "DV"
}
]
}
]
上面是我通过aggregate目前实现的数据结果,但是我想最终效果是下面的格式。应该如何操作。
[
{
"_id": "MK-BLX",
"name": "菠萝熊",
"size": "小码",
"WV": 20,
"DV": 20
},
{
"_id": "MK-BLX",
"name": "菠萝熊",
"size": "标准",
"WV": 100,
"DV": 100
},
{
"_id": "MK-DX2",
"name": "黛西套件羊羔绒",
"size": "标准",
"WV": 603,
"DV": 623
}
]
谢邀,用如下代码撸起
var a = [ { "_id": "MK-BLX", "name": "菠萝熊", "size": "小码", "x": [ { "qty": 20, "type": "WV" }, { "qty": 20, "type": "DV" } ] }, { "_id": "MK-BLX", "name": "菠萝熊", "size": "标准", "x": [ { "qty": 100, "type": "WV" }, { "qty": 100, "type": "DV" } ] }, { "_id": "MK-DX2", "name": "黛西套件羊羔绒", "size": "标准", "x": [ { "qty": 603, "type": "WV" }, { "qty": 623, "type": "DV" } ] } ]; var my = a.map(({_id, name, size, x}) => ({_id,name,size,...x.reduce((n, {type, qty}) => (n[type] = qty, n), {})})); console.info(my); [ { _id: 'MK-BLX', name: '菠萝熊', size: '小码', WV: 20, DV: 20 }, { _id: 'MK-BLX', name: '菠萝熊', size: '标准', WV: 100, DV: 100 }, { _id: 'MK-DX2', name: '黛西套件羊羔绒', size: '标准', WV: 603, DV: 623 } ]
查出来自行组装对应格式数据吧