довольно плохо знаком с javascript, и я пытаюсь сохранить данные из формы ввода в моем веб-приложении в моем кластере mongodb. Я уже сделал форму входа и регистрации в моем приложении, которое успешно сохраняется в моем mongodb
кластере, и моя схема для этого выглядит следующим образом: (PS я добавил в projecttitle: {type: mongoose.Schema.Types.ObjectId,ref: "Project"}
в этой схеме, чтобы попытаться связать с другим схема, не знаю, если это правильно?)
const mongoose = require('mongoose');
const UserSchema = new mongoose.Schema({
username: {
type: String,
required: true
},
password: {
type: String,
required: true
},
emailaddress: {
type: String,
required: true
},
projecttitle: {
type: mongoose.Schema.Types.ObjectId,
ref: "Project"
}
});
const User = mongoose.model('User', UserSchema,);
module.exports = User;
Однако, как только пользователь вошел в систему, они встречаются с другой формой ввода с другими входами. Я хочу сохранить эти входные данные в моих коллекциях атласа mongoDB
и связать входные данные из формы с пользователем, который их ввел. Я хотел бы сохранить данные, чтобы, когда пользователь снова входит в свою учетную запись, я мог в конечном итоге отобразить данные, которые они вводили в этой форме на домашней странице ранее. Я использовал эту схему: (ps я добавил postedBy: {type: mongoose.Schema.Types.ObjectId, ref: 'User'}
, чтобы попытаться связать эту схему с UserSchema, опять же, я не знаю, верно ли это)
const mongoose = require('mongoose');
const ProjectSchema = new mongoose.Schema({
postedBy: {
type: mongoose.Schema.Types.ObjectId, ref: 'User'},
projecttitle: {
type: String,required: true},
projectmodule: {
type: String,required: true},
dateone: {
type: Date,required: true},
datetwo: {
type: Date,required: true},
milestones: {
type: String,required: true}
});
const Project = mongoose.model('Project', ProjectSchema,);
module.exports = Project;
, и это фрагмент моего app. js файл, чтобы попытаться сохранить ProjectSchema
, в мои коллекции в моей базе данных.
//homepage
router.get('/homepage', forwardAuthenticated, (req, res) => res.render('homepage'));
router.post('/homepage', (req, res) => {
const { projecttitle, projectdescription, dateone, datetwo, } = req.body;
let errors = [];
if (!projecttitle || !projectdescription|| !dateone || !datetwo ) {
errors.push({ msg: 'Missing entries. Please fill in every field' });
}
if (errors.length > 0) {
res.render('homepage', {
errors,
projecttitle,
projectdescription,
dateone,
datetwo
});
} else {
const newProject = new Project({
projecttitle,
projectdescription,
dateone,
datetwo
});
newProject.save()
.then(user => {
req.flash(
'good',
'You have now made a project and its saved in our system'
);
res.redirect('/users/homepage');
})
}})
извинения, если это не имеет смысла, любая помощь будет высоко ценится. если вам нужна дополнительная информация о моем коде, пожалуйста, дайте мне знать.