Я знаю, это звучит как легкий запрос, но я потратил слишком много времени на это.По умолчанию я хочу, чтобы мой вывод из sequelize был простым объектом без каких-либо массивов.
Ранее я использовал raw: true
, но в этой ситуации это не сработает.Мне нужно сохранить оригинальное дерево.У меня сложный результат с 4 вложенными ассоциациями.Был пакет от разработчика под названием sequelize-to-json , но после применения его к самой последней версии sequelize у меня все еще были массивы в моем объекте.Я считаю, что плагин может больше не поддерживаться, так как последний коммит был больше года назад.
Вот моя модель:
Namespace.findAll({
attributes: ['namespace', 'description'],
include: {
model: Domain,
as: 'domains',
attributes: ['domain', 'description'],
required: false,
include: {
model: Attribute,
as: 'attributes',
attributes: ['attribute', 'description'],
required: false,
include: {
model: Value,
as: 'values',
attributes: ['type', 'value'],
required: false,
where: {
[Op.or]: [{ uuid }, { uuid: '00000000-0000-0000-0000-000000000000' }],
},
// order: [['id', 'ASC']],
},
},
},
})
Вывод выглядит примерно так:
[
{
"namespace": "orangeApp",
"description": "Mobile App Email Notifications",
"domains": [
{
"domain": "notifications",
"description": "Notifications",
"attributes": [
{
"attribute": "scheduled_medication",
"description": "Scheduled Medication",
"values": [
{
"type": "delivery_method",
"value": "push"
},
{
"type": "preview_type",
"value": "basic"
}
]
},
{
"attribute": "new_messages",
"description": "New Messages",
"values": [
{
"type": "blahhhhhh",
"value": "true"
}
]
},
{
"attribute": "friend_requests",
"description": "Friend Requests",
"values": [
{
"type": "dc",
"value": "true"
}
]
}
]
}
]
}
]
Предпочтительный вывод будет примерно таким:
Есть предложения?Я видел много примеров, когда люди получали чистый JSON, но с моими ассоциациями и желанием поддерживать дерево я не видел хорошего примера.Вся помощь приветствуется