데이터베이스에서 제품을 찾을 수 없을 때 정보를 어떻게 표시하는지 궁금합니다. 이제 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' });
}
}
});
});
route.js
.when('/edit/:id', {
templateUrl: 'app/views/pages/management/edit.html',
controller: 'editCtrl',
controllerAs: 'edit',
authenticated: 'true',
permission: ['admin', 'moderator']
})
.otherwise({redirectTo : '/'})
데이터베이스에 쿼리하기 전에 id에 대한 유효성 검사를 수행 할 수 있습니다.
var objectId = require('mongodb').ObjectID;
if(objectid.isValid(editUser)){
//your all code here
}
else
{
res.json({ success: false, message: 'invalid id' });
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다