Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie aktualisiere ich einen Datensatz mit sequelize for node?

Seit Version 2.0.0 müssen Sie Ihr where umschließen -Klausel in einem where Eigenschaft:

Project.update(
  { title: 'a very different title now' },
  { where: { _id: 1 } }
)
  .success(result =>
    handleResult(result)
  )
  .error(err =>
    handleError(err)
  )

Aktualisierung 09.03.2016

Die neueste Version verwendet success tatsächlich nicht und error mehr, sondern verwendet stattdessen then -fähige Versprechungen.

Der obere Code sieht also wie folgt aus:

Project.update(
  { title: 'a very different title now' },
  { where: { _id: 1 } }
)
  .then(result =>
    handleResult(result)
  )
  .catch(err =>
    handleError(err)
  )

Async/await verwenden

try {
  const result = await Project.update(
    { title: 'a very different title now' },
    { where: { _id: 1 } }
  )
  handleResult(result)
} catch (err) {
  handleError(err)
}

http://docs.sequelizejs.com/ en/latest/api/model/#updatevalues-options-promisearrayaffectedcount-affectedrows