sequelize - массовая вставка при повторном обновлении

У меня есть следующая схема,

create table test (id int primary key ,x integer)

И я хочу обновить столбец х на дубликате со старым + новым значением

как следующий необработанный запрос с sequelize-nodejs.

INSERT INTO test (id,x) VALUES (1,5)
  ON DUPLICATE KEY UPDATE x=x+VALUES(x);

1 ответ

Вы можете сделать что-то подобное:

Шаг 1: найти экземпляр
Шаг 2: обновите значение старым + новым

а также

Шаг 3: сохранить экземпляр

Table.find({
          where: { //condition }
        })
        .then(entity => {
          if (entity) {
            entity.val += req.body.newVal;
            return entity.save()
              .then(() => {
                res.status(200);
              })
              .catch(validationError(res));
          } else {
            return res.status(404).end();
          }
        })
Другие вопросы по тегам