Почему данные через Sequelize не возвращаются корректно?
Пишу бэкенд на экспрессе и столкнулся с такой бедой:
Через Sequelize делаю обычный запрос на получение списка ролей пользователя, чтобы прогнать их через middleware, но вот незадача, тот же самый код, одна и та же база, но при запуске дев версии через npm run dev данные Groups и Roles не пустые, а при запуске прод версии в докере, данные уже undef.
"sequelize": "^6.37.4"
вывод groups:
api |User {
api | dataValues: {
api | id: 9,
api | login: '***',
api | firstname: '***',
api | lastname: '***',
api | mail: '***',
api | avatar: '***',
api | createdAt: 2024-10-31T08:25:49.349Z,
api | updatedAt: 2024-10-31T08:25:49.349Z,
api | Groups: [ [Group], [Group] ]
api | },
api | _previousDataValues: {
api | id: 9,
api | login: '***',
api | firstname: '***',
api | lastname: '***',
api | mail: '***',
api | avatar: '',
api | createdAt: 2024-10-31T08:25:49.349Z,
api | updatedAt: 2024-10-31T08:25:49.349Z,
api | Groups: [ [Group], [Group] ]
api | },
api | uniqno: 1,
api | _changed: Set(0) {},
api | _options: {
api | isNewRecord: false,
api | _schema: null,
api | _schemaDelimiter: '',
api | include: [ [Object] ],
api | includeNames: [ 'Groups' ],
api | includeMap: { Groups: [Object] },
api | includeValidated: true,
api | attributes: [
api | 'id', 'login',
api | 'firstname', 'lastname',
api | 'mail', 'avatar',
api | 'createdAt', 'updatedAt'
api | ],
api | raw: true
api | },
api | isNewRecord: false,
api | Groups: undefined,
api | id: undefined,
api | login: undefined,
api | firstname: undefined,
api | lastname: undefined,
api | mail: undefined,
api | avatar: undefined,
api | createdAt: undefined,
api | updatedAt: undefined,
api | Roles: undefined
api |}
вот сам запросик
const groups = await User.findByPk(userData._id, {
include: [
{
model: Group,
through: {attributes: []},
where: {valid: true},
include: [{
model: Role,
where: {valid: true},
attributes: ['name'],
through: {attributes: []},
include: [
{
model: RoleGroup,
attributes: ['permission'],
},
]
}]
},
],
});
return groups;
Ответы (1 шт):
Автор решения: cursed
→ Ссылка
Решил проблему банально: Определяя классы моделей не убрал публичные поля, на это ругался sequelize
и бил ошибку.