Postgresデータベースの行でsequelizeを使用して更新コマンドを実行しようとしています。同じ値で異なる条件を持つ複数の行を更新できるようにする必要があります。
たとえば、次のフィールドを含むユーザーテーブルがあるとします。
このテーブルに4つのレコードがあり、IDが1と4のレコードを、ナイジェリアという新しい場所で更新するとします。
このようなもの: SET field1 = 'foo' WHERE id = 1, SET field1 = 'bar' WHERE id = 2
Sequelizeでそれを実現するにはどうすればよいですか?
一度に複数のレコードを更新できますが、すべてのレコードに対して同じ更新を行います。異なる条件に対して異なる更新を行いたい場合は、その複数回実行する必要があります。
例:
これにより、fields1
がfooに更新されます。ここで、id
は1または4です。
let ids = [1,4];
Your_model.update({ field1 : 'foo' },{ where : { id : ids }});
これにより、id
が1の場合はfield1
がfooに更新され、id
が4の場合はfield1
がbarに更新されます。
Your_model.update({ field1 : 'foo' },{ where : { id : 1 }});
Your_model.update({ field1 : 'bar' },{ where : { id : 4 }});
これですべての疑問が解消されることを願っています。