У меня есть отношения, определенные как
device_data.belongsTo(models.device)
device.belongsTo(models.category)
category.belongsTo(models.role)
Я пытаюсь получить все данные устройства, которые подпадают под определенную c роль. Прямо сейчас у меня работает следующее:
const query = {
include: [{
model: device,
attributes: ['id'],
include: [{
model: category,
attributes: ['id'],
include: [{
model: role,
attributes: ['id'],
where: {
id: {
[Op.eq]: roleId,
},
},
required: true,
}],
required: true,
}],
required: true,
}],
};
Очевидно, это возвращает мне отформатированные данные, подобные следующим:
{
"id": 1,
"created_timestamp": "2019-08-12T12:28:36.194Z",
"device_id": 1,
"device_value": 0,
"initiator_id": 2,
"device": {
"id": 1,
"category": {
"id": 1,
"role": {
"id": 1
}
}
}
},
Где role
вложено в 3-й уровень и role.id
в 4-м.
Я пытаюсь достичь:
{
"id": 1,
"created_timestamp": "2019-08-12T12:28:36.194Z",
"device_id": 1,
"device_value": 0,
"initiator_id": 2,
"device": 1,
"category": 1,
"role": 1
},
Я был бы очень признателен, если бы кто-то мог указать мне подсказку или, возможно, запрос на генерацию таких данных из sequelize , Большое спасибо.