📌  相关文章
📜  未处理的拒绝 TypeError: Article.findById is not a function sequelize - Javascript (1)

📅  最后修改于: 2023-12-03 15:26:31.317000             🧑  作者: Mango

未处理的拒绝 TypeError: Article.findById is not a function sequelize - Javascript

如果你曾在使用 Sequelize ORM 进行 JavaScript 开发时遇到以下错误,那么本篇文章将对你有所帮助:

TypeError: Article.findById is not a function

这个错误是由于 Sequelize@4.0.0 的 API 发生了变化,已经废弃了 findById 方法,而改用了 findByPk 方法。

在 Sequelize 的文档中,有如下注释:

Deprecated: Use findByPk instead.

因此,如果你想要按照之前的方式使用 findById 方法,那么你需要将 Sequelize 升级到最新版本,或者手动更改你的代码。

下面,我们来看看如何将 findById 重构为 findByPk

// 在版本 4.0.0 之前
Article.findById(1)
  .then(article => {
    console.log(article.title);
  });

// 在版本 4.0.0 及之后
Article.findByPk(1)
  .then(article => {
    console.log(article.title);
  });

如此简单。记得只要是遇到这种变更时,一定要查看 Sequelize 官方文档,以便更加顺利地进行迁移工作。

本篇文章以很简单的方式解决了 JavaScript 开发中的一个错误。希望能对你有所帮助!