Как должен выглядеть параметр ‘value’ в Sequelize Model.update()?

#sequelize.js

#sequelize.js

Вопрос:

Я использую Sequelize v4 и пытаюсь обновить один атрибут в одной записи с помощью update. Я не понимаю, как должен выглядеть объект ‘values’, и я не могу найти никакой документации относительно него.

Я предполагал, что это будет {ColumnName: updatedValue}, как таковой:

 Model.update(
  {columnToUpdate: valueToUpdate},
  {
    where: {...},
    fields: ['columnToUpdate']
  }
)  

Предложение where работает так, как задумано, но результат, который я получаю, — это только применение SET к ‘updatedAt’, вот так:

 UPDATE `tableToUpdate` SET `updatedAt`='2020-08-21 20:50:22' WHERE `userId` = '123' AND `id` = '456'
  

Я не могу найти никакой документации, которая приводила бы пример того, что Sequelize ищет в том, что касается параметра value.

Комментарии:

1. Зачем использовать свойство fields?

2. Я пробовал это со свойством fields и без него — никаких изменений.

Ответ №1:

В примере я не видел, чтобы они использовали fields для модели. Хотя похоже, что это правильный синтаксис.

Пример из документов:

 Task.update(
    { status: 'inactive' },
    { where: { subject: 'programming' }}
  );
  

документы:https://sequelize.org/v4/manual/tutorial/instances.html

Комментарии:

1. Спасибо, что нашли это в документах и поделились со мной. Интересно, почему то, что я пытаюсь, не работает. Редактировать: А — на самом деле это вызывается в экземпляре, и я пытаюсь выполнить запрос к модели.