Я опрашиваю монго примерно так:
const loadedLists = await ListValues.find( {} )
Я получаю результаты, которые выглядят примерно так:
result = [ { listname: 'ListOne',
values: [ {
label: 'OptOne',
cost: '25'
},{
label: 'OptTwo',
cost: '22'
}]
}, { listname: 'ListTwo',
values: [...//and so on]
}]
Мне нужно превратить это в объект, который выглядит следующим образом:
const newData =
{ listOne: [ { label: 'OptOne', cost: '25' }, { label ...} ],
listTwo: [ { label: 'OptTwo', cost: '25' }, { label ...} ]}
С целью в конечном итоге сделать Object.assign(res.locals, ...newData)
, поэтому res.locals
имеет свойство listOne
и listTwo
.
Я возился с картой вот так:
const hh = {}
hh = result.map( async list => {
return { [list.listName]: list.values }
}
hh = await Promise.all(hh)
Который почти работает, за исключением того, что чч выглядит так:
[
{ listOne: [ ...//Properly has the values ] },
{ listTwo: [ ...//Same...]}
]
Мне просто нужно аккуратно поднять эти объекты на уровень. Я нашел NPM-модули для этого или циклы для его повторной обработки, но я не могу не чувствовать, что есть более чистый / аккуратный способ вернуть его.