#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. Спасибо, что нашли это в документах и поделились со мной. Интересно, почему то, что я пытаюсь, не работает. Редактировать: А — на самом деле это вызывается в экземпляре, и я пытаюсь выполнить запрос к модели.