TypeError User.findOne не является функцией - PullRequest
0 голосов
/ 15 мая 2019

Используя это в соответствии с документацией, а также онлайн-уроками, что-то не так с тем, как я называю модель Users?

users.js

//User model
const User  = require('../models/User');

//Validation passed
        User.findOne({ email: email})
        .then(user => {
            if(user) {
                //user exists throw errors
            } else {
                res.send('create new user entry')
            }
        });

my User.js model

module.exports = function(sequelize, Sequelize) {

    var User = sequelize.define('user', {
    });
    return User;
}

1 Ответ

0 голосов
/ 15 мая 2019

Измените свой файл модели пользователя с этого

module.exports = function(sequelize, Sequelize) {

    var User = sequelize.define('user', {
    });
    return User;
}

что-то вроде этого

const Sequelize = require("sequelize");
const sequelize = require("../util/connection");
const User = sequelize.define("user", {
  id: {
    type: Sequelize.INTEGER,
    primaryKey: true,
    autoIncrement: true
  },
  fname: {
    type: Sequelize.STRING
  },
  lname: {
    type: Sequelize.STRING
  }
});


module.exports = User;

проблема связана с тем, что файл пользовательской модели неправильно импортируется из пользовательской модели. или попробуйте что-нибудь подобное.

//User model
const Usermodel  = require('../models/User');
const User = Usermodel(sequelize,Sequelize);

//Validation passed
        User.findOne({ email: email})
        .then(user => {
            if(user) {
                //user exists throw errors
            } else {
                res.send('create new user entry')
            }
        });

вы можете опубликовать свой файл index.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...