2017-11-13 4 views
0

Angenommen, ich eine Tabelle wie folgt aus:Ist es möglich, Zeilen mit Sequelize teilweise zu aktualisieren?

enter image description here

und eine Reihe von Objekten, die [ {ID: '0', Name: 'Leo', Age: 21, CurrentState: 5}, {ID: '1', Name: 'George', Age: 26, , CurrentState: 6}, {ID: '2', Name: 'Diana', Age: 27, , CurrentState: 4} ] enthält.

Wie kann ich die Spalten aktualisieren ID, Name, Age und CurrentState, ohne die Werte von IsAdmin Spalte zu beeinflussen?

Wenn ich den folgenden Code

Table.bulkCreate([ 
    {ID: '0', Name: 'Leo', Age: 21, CurrentState: 5}, 
    {ID: '1', Name: 'George', Age: 26, , CurrentState: 6}, 
    {ID: '2', Name: 'Diana', Age: 27, , CurrentState: 4} 
], { 
    updateOnDuplicate: true 
}) 

alle Werte von IsAdmin der aktualisierten Zeilen in FALSE gesetzt werden, was der Standardwert ist.

Wie kann ich dieses Problem vermeiden?

Antwort

1

passe einfach eine Reihe von nur die Attribute, die

Table.bulkCreate([ 
    {ID: '0', Name: 'Leo', Age: 21, CurrentState: 5}, 
    {ID: '1', Name: 'George', Age: 26, , CurrentState: 6}, 
    {ID: '2', Name: 'Diana', Age: 27, , CurrentState: 4} 
], { 
    updateOnDuplicate: ['Name','CurrentState'] 
}) 

options.updateOnDuplicate

  • Array
  • optional
  • Felder aktualisiert werden müssen, um aktualisieren, wenn Zeilenschlüssel bereits vorhanden ist (auf Duplikat Schlüsselaktualisierung)? (nur von mysql unterstützt). Standardmäßig sind alle Felder aktualisiert.
+0

Vielen Dank. Ich habe einen dummen Fehler gemacht, weil ich das Dokument nicht klar gelesen habe. – Brian

Verwandte Themen