Итак, что мне нужно: у меня есть пользователь, вошедший в систему, он добавляет проект, и этот проект остается тем же хостом пользователя, который его добавил.Я поделюсь своим кодом:
Схема пользователя:
var mongoose = require("mongoose");
var passportLocalMongoose = require("passport-local-mongoose");
var UserSchema = new mongoose.Schema({
username: String,
password: String,
companyname: String
})
UserSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model("User", UserSchema);
Схема ПРОЕКТОВ:
var mongoose = require("mongoose");
var projectSchema = new mongoose.Schema({
projectname: String,
typeofproject: String,
user: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'User'
}]
})
module.exports = mongoose.model('Project', projectSchema);
myМаршрут к Создать новый Проект:
exports.create_new_projects = (req, res) => {
Project.create({
projectname: req.body.projectname,
typeofproject: req.body.typeofproject
}, (err, projects) => {
if (err) {
console.log("ERROR_0 ------------" + err);
}
User.findOne({}, (err, user) => {
if(err){
console.log(err);
}
console.log(projects);
user.projects.push(projects._id);
user.save();
console.log('NEW Project added!')
res.json(projects)
});
});
}
TypeError: Невозможно прочитать свойство 'push' undefined в User.findOne