sequelize 查找和更新没有模型的记录

Muh*_*rif 3 mysql sql node.js mysql2 sequelize.js

我想使用 sequelize.js 和 mysql2 更新数据库记录我无权访问模型文件夹,或者它们没有被制作,所以有没有办法更新无法找到解决方案所有的解决方案都是我检查过的型号名称点更新

var Book = db.define(‘books’, {
 title: {
   type: Sequelize.STRING
 },
 pages: {
   type: Sequelize.INTEGER
 }
})


Book.update(
   {title: req.body.title},
   {returning: true, where: {id: req.params.bookId} }
 )
 .then(function([ rowsUpdate, [updatedBook] ]) {
   res.json(updatedBook)
 })
 .catch(e => console.log(e));
Run Code Online (Sandbox Code Playgroud)

我想要你的专家解决方案

Jit*_*dav 5

有关基于版本的最新文档,请参阅Sequelize ORM

更新 - v6

您可以同时使用query model(preferred)raw queries来实现此目的。

// Using query model(User)
await User.update({ y: 42 }, {
  where: {
    x: 12
  }
});

// Using raw query
const [results, metadata] = await sequelize.query("UPDATE users SET y = 42 WHERE x = 12");
// Results will be an empty array and metadata will contain the number of affected rows.
Run Code Online (Sandbox Code Playgroud)

旧 - v3

sequelize.query("UPDATE users SET y = 42 WHERE x = 12").spread(function(results, metadata) {
  // Results will be an empty array and metadata will contain the number of affected rows.
})
Run Code Online (Sandbox Code Playgroud)

参考:Sequelize 原始查询