Aktualisieren Sie Ihre require-Anweisungen, damit sie sowohl in den Routen als auch in der Passport-Datei konsistent sind:const User = require('../model/users');
. Groß- und Kleinschreibung spielt keine Rolle!
Anscheinend verwenden Sie nicht die richtige Mongoose-Terminologie. Basierend auf ihrer Dokumentation , sollte dies ungefähr wie folgt implementiert werden.
const mongoose = require('mongoose');
const bcrypt = require('bcryptjs');
const config = require('../config/database');
//User Schema
const UserSchema = mongoose.Schema({
name: {
type:String
},
email: {
type:String,
required:true
},
username: {
type:String,
required:true
},
password: {
type:String,
required:true
}
});
UserSchema.statics.getUserById = function(id,callback)
{
return this.findById(id,callback);
};
UserSchema.statics.getUserByUsername = function(username,callback){
const query = {username: username}
return this.findOne(query,callback);
};
UserSchema.statics.addUser = function(newUser,callback){
bcrypt.genSalt(10,(err,salt)=>{
if(err)
{
throw err;
}
bcrypt.hash(newUser.password,salt,(err,hash)=>{
newUser.password=hash;
newUser.save(callback);
});
});
};
module.exports = users = mongoose.model('users',UserSchema);;