【问题标题】:Cannot read properties of undefined (reading 'findOne') (in sequelize model)无法读取未定义的属性(读取 \'findOne\')(在续集模型中)
【发布时间】:2023-01-17 09:00:08
【问题描述】:

我尝试通过邮递员登录。但它已经停产了。 像那样

我使用了相应问题行的控制台日志,模型用户未定义。但是我已经正确连接了它,我不确定为什么会出错。

我的代码就是这样

index.js

const { user } = require("../../entities/models/user");

    console.log('login 2:',user)
    const userInfo = await user.findOne({
      where: { email: req.body.email, social: 'google'}
    })
models/user.js

'use strict';
const {
  Model
} = require('sequelize');
module.exports = (sequelize, DataTypes) => {
  class user extends Model {
    /**
     * Helper method for defining associations.
     * This method is not a part of Sequelize lifecycle.
     * The `models/index` file will call this method automatically.
     */
    static associate(models) {
      // define association here
    }
  };
  user.init({
    username: DataTypes.STRING,
    email: DataTypes.STRING,
    password: DataTypes.STRING,
    social: DataTypes.STRING,
    socialid: DataTypes.STRING,
    gender: DataTypes.STRING,
    age: DataTypes.INTEGER,
    height: DataTypes.STRING,
    weigt: DataTypes.STRING,
    profileimage: DataTypes.STRING,
    total_time: DataTypes.INTEGER
  }, {
    sequelize,
    modelName: 'user',
  });
  return user;
};

我不明白。很明显,当我点击路径require("../../entities/models/user");时,它与模型配合得很好,但为什么会不断弹出undefined?

【问题讨论】:

    标签: node.js sequelize.js


    【解决方案1】:

    您正在从 models/user.js 导出整个模块,因此您需要像这样导入它:

    const user = require("../../entities/models/user");
    

    此外,您需要使用 (sequelize, DataTypes) 调用用户,因此:

    const Sequelize = require('sequelize');
    const sequelize = new Sequelize(/*your config here*/)
    const user = require("../../entities/models/user")(sequelize, Sequelize);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-16
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2022-11-21
      • 2020-01-23
      • 2019-06-25
      相关资源
      最近更新 更多