Обновление связанной таблицы с помощью Sequelize и Express

Существуют таблицы users и roles, которые связаны в user_roles. У пользователя может быть множество ролей. В момент создания использую setRoles(array) для заполнения связанной таблицы user_roles.

User.create(user_data)
    .then(user => {
        user.setRoles([1]).then(() => {
            console.log( "Успех." );
        });
    })
    .catch(err => {
        console.log( err.message );
    });

Вопрос возникает в момент обновления пользователя, т.к. нет возвращяемого экземпляра user, чтобы применить к нему setRoles(array). Как можно дополнить следующий код, чтобы решить этот вопрос? Пока-что вижу только одно решение, делать отдельный запрос для получения экземпляра пользователя.

PS: в документации Sequelize сказано, что .update может возвращать вторым параметром объект, но работает только с postgres и поэтому не подходит.


User.update(user_data, { where: { id: user_id } })
    .then(num => {
        console.log( "Успех." );
    })
    .catch(err => {
        console.log( err.message );
    });
};

Ответы (0 шт):