Reputation: 116
I have a simple profile that can everybody see without any auth. I want to display the firstname
and lastname
but I'm unable to do it.
Here is my code.
// Profile
router.get("/profile/:id", function (req, res) {
User.findById(req.params.id, function (err, doc) {
if (err) {
console.log(err);
return;
} else {
res.render('users/profile', {
title: 'Profile',
User
});
console.log(User.firstname);
}
});
});
I get only undefined
in the console.
Upvotes: 0
Views: 50
Reputation: 4783
You are getting the data from the wrong place, you need to use the callback data and don't the model object:
router.get("/profile/:id", function (req, res) {
User.findById(req.params.id, function(err, doc) {
if(err) {
return;
} else {
res.render('users/profile', {title: 'Profile', doc});
console.log(doc, doc.firstname);
}
});
});
Changing {title: 'Profile', User}
to {title: 'Profile', doc}
.
Upvotes: 2