Я работаю над преобразованием всех моих запросов в sequelize. Проблема, с которой я столкнулся, заключается в том, что когда выбранные запросы включают ассоциации (например, один к многим), объект, который я получаю, представляет собой массив вложенных объектов.Возврат плоского объекта из sequelize with association
Это выглядит примерно так:
[
{
"field1": "someval",
"field2": "someval1",
"assoc_table": {
"field_a": 1,
"field_b": "someval"
}
},
{
"field1": "someval",
"field2": "someval3",
"assoc_table": {
"field_a": 5,
"field_b": "someval"
}
},
{
"field1": "someval",
"field2": "someval3",
"assoc_table": {
"field_a": 12,
"field_b": "someval"
}
}
]
Я пытался использовать различные модули для выравнивания объектов (внутри цикла, каждый объект по отдельности), но я всегда получал ошибку, говорящую, что я пытался придавить были не просто объектами.
Кроме того, я бы предпочел избежать части, где объекты сплющены, и просто получить плоский результат с sequelize.
Код sequelize выглядит примерно так:
models.table1.findAll({
attributes: ['field1', 'field2'],
where: {field1: someval},
include: [{model: models.assoc_table, required: true, attributes:['field_a', 'field_b']}]
}).then(function (result) {
res.send(result);
}).catch(function(error) {
console.log(error);
});