I have a user schema including a few sub-schemas. I have 2 similar sub-schemas, one of them is recognised but the other one is undefined all the time. my user schema is as follows:
var UserSchema = new Schema({
company: String,
resetPasswordToken: String,
resetPasswordExpires: Date,
isAdmin: {type: Boolean, default: false},
projects: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Project",
}
],
trackers: [
{
type: mongoose.Schema.Types.ObjectId,
ref: "Tracker",
}
],
});
In the above schema, I have projects that is working very well in a post route . The form gets posted, saved and shown properly but the same route for trackers cannot be posted and give "trackers is undefined" error:
project post route:
app.post("/myprojects", function(req,res){
User.findById(req.user._id, function(err, user){
if(err){
console.log(err);
}else{
var pname = req.body.pname;
var pnumber = req.body.pnumber;
var newProject = {
pname:pname,
pnumber:pnumber,
};
Project.create(newProject, function(err, project){
if(err){
console.log(err);
}else{
user.projects.push(project);
user.save();
res.redirect("/myprojects");
}
});
}
});
});
Here is the tracker post:
app.post("/tracker", function(req,res){
User.findById(req.user._id, function(err, user){
if(err){
console.log(err);
}else{
var tname = req.body.tname;
var tnumber = req.body.tnumber;
var newTracker = {
tname:tname,
tnumber:tnumber,
};
Tracker.create(newTracker, function(err, tracker){
if(err){
console.log(err);
}else{
user.trackers.push(tracker);
user.save();
res.redirect("/tracker");
}
});
}
});
});
Please note both projects schema and tracker schemas are saved in a model folder and been required in app.js