1. 程式人生 > 實用技巧 >Cannot read property 'findOne' of undefined sequelize模型報錯

Cannot read property 'findOne' of undefined sequelize模型報錯

關於sequelize使用中的一些坑

準備封裝一個koa2+sequelize+mysql封裝一個小型的增刪改查
然後碰到了這兩個問題

sequelize.import is not a function

Cannot read property 'findOne' of undefined

很少見的兩個問題,然後分析一下
一直報錯就是這個,findOne就是sequelize的模型,所以大概率就是模型的匯入、匯出的時候出現了問題

覺得還是版本不對勁,所以找了下文件,基本的都是5版本的,我的就是6版本的

最後在GitHub找到一個有用解(別說了,GitHub無敵)

舉個例子吧
改之前:

const db = require('../config/db')
const Sequelize = db.sequelize
const User = Sequelize.import('../schema/user.js')

改之後:

const { DataTypes } = require('sequelize');
const db = require('../config/database')
const Sequelize = db.sequelize
const User = require('../schema/user')(Sequelize, DataTypes);

對應的就是引數的問題了,在'../schema/user'中是丟擲了一個方法但是有兩個引數,所以還是得補上引數

還是js沒學好(逃