const Club = require('../models/Club')
const User = require('../models/User')
const path = require('path')
module.exports = (req, res) => {
if(!req.files){
res.render('clubSignUp', {
error:"error"
})
}
else {
let image = req.files.image;
image.mv(path.resolve(__dirname,'..','public/img',image.name), async (error) => {
if(error){
console.log("Error making image")
}
await Club.create({
...req.body,
image: '/public/img/' + image.name
}, async function(error, newlymade) {
if(error){
console.log(error)
res.render('clubSignUp', {
error
})
}
else {
User.findById(req.session.userId, (error, user) => {
user.clubs.push(newlymade._id)
user.save()
})
//user.clubs.push(newlymade._id)
console.log(newlymade._id)
res.redirect('/')
}
})
//req.session.userId = user._id
})
}
}
This is the file where I store a "Club" and I am trying to store the id of the club into the user schema. This is so I can attach a specific club to a user for later use.
const UserSchema = new Schema ({
firstName : {
type: String,
required: true
},
lastName : {
type :String,
required: true
},
email : {
type :String,
required:true
},
userName: {
type: String,
required: true,
unique: true
},
password : {
type: String,
required: true,
},
major :{
type : String,
required: true
},
gradYear : {
type :String,
required: true
},
clubs :[String],
image : String
})
Это пользовательская схема, и я храню клубы в виде массива строк, и этот массив содержит идентификатор созданных пользователем клубов
const bcrypt = require('bcrypt')
const User = require('../models/User')
const{check, validationResult} = require('express-validator')
module.exports = (req, res) => {
const {userName, password} = req.body;
//console.log(userName)
User.findOne({userName:userName}, (error, user) => {
//console.log(user)
if(user) {
bcrypt.compare(password, user.password, (error, same) => {
if(same) {
req.session.userId = user._id
res.redirect('/')
}
else {
error = "Invalid Login"
res.render('login', {
error: "Invalid Login"
})
console.log(error)
}
})
}
else {
console.log(error)
res.render('login', {
error : "Invalid Login"
})
}
})
}
Наконец, вот как пользователь проверен для входа в систему. Раньше у меня не было проблем с этим, вход в систему пользователя работает идеально, пока я не добавлю клуб, и он не будет добавлен в схему пользователя. Застрял на этом часами: / Заранее спасибо:)