【发布时间】:2018-01-29 18:23:37
【问题描述】:
嘿,我有一个问题,当在数据库中找不到产品时如何显示信息?因为现在当我在 url 中更改 _id 编号时,我收到错误 Cast to ObjectId failed for value "5962088db4457a0aec3d9d4dh" at path "_id" for model "User"
api.js
router.get('/edit/:id', function(req, res) {
var editUser = req.params.id;
User.findOne({ username: req.decoded.username }, function(err, mainUser) {
if(err) throw err
if(!mainUser) {
res.json({ success: false, message: 'User no found'});
} else {
if(mainUser.permission === 'admin' || mainUser.permission === 'moderator') {
User.findOne({ _id: editUser }, function(err,user) {
if(err) throw err
if(!user) {
res.json({ success: false, message: 'User no found' });
} else {
res.json({ success: true, user: user });
}
})
} else {
res.json({ success: false, message: 'You are not an admin' });
}
}
});
});
routes.js
.when('/edit/:id', {
templateUrl: 'app/views/pages/management/edit.html',
controller: 'editCtrl',
controllerAs: 'edit',
authenticated: 'true',
permission: ['admin', 'moderator']
})
.otherwise({redirectTo : '/'})
【问题讨论】:
标签: angularjs node.js mongodb mongoose