Я новичок в nodejs и expressjs mongoose, я столкнулся с ошибкой в этих фрагментах.
/ * POST редактировать категорию * /
router.post('/edit-category/:id', function (req, res) {
var title = req.body.title;
var slug =title.replace(/\s+/g, '-').toLowerCase();
var id = req.body.id;
var errors = req.validationErrors();
if (errors) {
res.render('admin/edit_category', {
errors: errors,
title: title,
id: id
});
} else {
Category.findOne({slug:slug, _id: { '$ne': id } }, function (err, category) {
if (category) {
req.flash('danger', ' Category Title exists , choose another.');
res.render('admin/edit_category', {
title: title,
id: id
});
}
else {
Category.findById(id, function (err, category) {
if (err) {
return console.log(err);
}
category.title = title;
category.slug = slug;
category.save(function (err) {
if (err)
return console.log(err);
req.flash('success', 'Category editted!');
res.redirect('/admin/categories/edit-category/' +id);
});
});
}
});
}
});
TypeError: Невозможно установить свойство 'title' для null в D: \ projects \ cmscart \ rout \ admin_categories.js: 142: 36 вmodel.Query.(D: \ projects \ cmscart \ node_modules \ mongoose \ lib \ model.js: 3407: 16) в D: \ projects \ cmscart \ node_modules \ kareem \ index.js: 259: 21 в D: \ projects \ cmscart \ node_modules\ kareem \ index.js: 127: 16 в _combinedTickCallback (внутренний / process / next_tick.js: 132: 7) в process._tickCallback (внутренний / process / next_tick.js: 181: 9)