我创建了一个从DATABASE(mongoDB)获取用户完整详细信息的路径。
路由器
router.get('/user/:userid/:name', getUrl, function(req, res, next) {
User.findOne({_id: req.params.userid})
.exec(function(err, user) {
if (err) { return next(err); }
if (!user) { return next(404); }
res.render('........');
});
});
例如,我可以使用以下URL访问此路由器:
http://127.0.0.1/user/6465667/username
但我真正想要的是这个
http://127.0.0.1/user/username
是否有办法在网址中隐藏用户ID
答案 0 :(得分:3)
只需从您的路线中删除:userid
,然后使用该名称查找您的数据库。确保您的用户名是唯一的,否则您可能会收到错误的用户详细信息。
router.get('/user/:name', getUrl, function(req, res, next) {
User.findOne({name: req.params.name})
.exec(function(err, user) {
if (err) { return next(err); }
if (!user) { return next(404); }
res.render('........');
});
});