Должен ли я использовать обновление или массовое обновление?

Привет, я пытаюсь обновить две точки данных в своей таблице, используя сиквелизацию с необработанным sql следующим образом:

await db.sequelize.query(`UPDATE Person SET status=:status WHERE loginName IN(:loginName)`, {
  replacements: {
    status: 'inactive',
    loginName: ['name1', 'name2']
  },
  type: sequelize.QueryTypes.BULKUPDATE
});

Должен ли я использовать sequelize.QueryTypes.BULKUPDATE или просто sequelize.QueryTypes.UPDATE? Я не знаю, какой из них использовать, поскольку я просто обновляю здесь две строки с условием WHERE, а не набором данных.

РЕДАКТИРОВАТЬ: будет выбран ответ, который не только дает решение, но и объясняет причину/концепцию.


person tnkh    schedule 11.08.2020    source источник


Ответы (1)


Необработанный запрос Sequelize возвращает массив, содержащий [results, metadata]. Поскольку вы выполняете запрос UPDATE и кажется, что вам не нужны результаты, установка options.type не нужна.

В соответствии с документами, тип запроса влияет на то, как результаты форматируются перед их передачей обратно, а Sequelize.QueryTypes предоставляется для удобства.

person Jackson    schedule 11.08.2020