如何使用 mongoDB 和 node.js 重定向到查看页面
How to redirect to view page using mongoDB and node.js
我是 node.js
、mongoDB
和 jade
的新手。
要重定向到 userlist
页面,我在 /routes/index.js
中有以下路线
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});
这条路线将我重定向到 userlist
页面。我在那里显示所有用户的列表。这里我每条记录上都有一个link可以查看详情:
以下是我的userlist.jade
extends layout
block content
h1.
User List
ul
each user, i in userlist
li
a(href="/viewuser/id/#{user._id}")=user.username
这个:
a(href="/viewuser/id/#{user._id}")=user.username
给我:
<a href="/viewuser/id/56aca898d9b0de79214ae381">Dhara</a>
现在我不知道点击link查看详细信息应该有什么路径,也不知道如何为查看屏幕获取选定的记录数据。
我使用清晰的分布式堆栈 MEAN.js,yeoman constructor 将帮助您构建安全且良好实践的编程应用程序。
这是我获取具体用户数据的方式。它比您的代码传播得更多,但很清楚。
希望对您有所帮助!
routes.js
app.use('/api/users', require('./api/user'));
api/user/index.js
var controller = require('./user.controller');
router.get('users/:id', controller.show);
user.controller.js:
// Get a single user
exports.show = function(req, res) {
User.findById(req.params.id, function (err, user) {
if(err) { return handleError(res, err); }
if(!user) { return res.send(404); }
return res.json(user);
});
};
然后我将呼叫具有 url 的用户,例如 users/xxxxxx
,其中 xxxx 是用户 ID。那么如果你想像/viewuser/id/xxxxxx
那样做,你需要像这样改变路线:
api/user/index.js
var controller = require('./user.controller');
router.get('viewuser/id/:id', controller.show);
user.controller.js:
// Get a single user
exports.show = function(req, res) {
User.findById(req.params.id, function (err, user) {
if(err) { return handleError(res, err); }
if(!user) { return res.send(404); }
return res.json(user);
});
};
也许您需要在应用服务器文件中指定视图
app.get('/userlist', function(req, res){
res.render('userlist', {
title: 'Your_Title'
});
});
希望对您有所帮助!
我是 node.js
、mongoDB
和 jade
的新手。
要重定向到 userlist
页面,我在 /routes/index.js
router.get('/userlist', function(req, res) {
var db = req.db;
var collection = db.get('usercollection');
collection.find({},{},function(e,docs){
res.render('userlist', {
"userlist" : docs
});
});
});
这条路线将我重定向到 userlist
页面。我在那里显示所有用户的列表。这里我每条记录上都有一个link可以查看详情:
以下是我的userlist.jade
extends layout
block content
h1.
User List
ul
each user, i in userlist
li
a(href="/viewuser/id/#{user._id}")=user.username
这个:
a(href="/viewuser/id/#{user._id}")=user.username
给我:
<a href="/viewuser/id/56aca898d9b0de79214ae381">Dhara</a>
现在我不知道点击link查看详细信息应该有什么路径,也不知道如何为查看屏幕获取选定的记录数据。
我使用清晰的分布式堆栈 MEAN.js,yeoman constructor 将帮助您构建安全且良好实践的编程应用程序。
这是我获取具体用户数据的方式。它比您的代码传播得更多,但很清楚。
希望对您有所帮助!
routes.js
app.use('/api/users', require('./api/user'));
api/user/index.js
var controller = require('./user.controller');
router.get('users/:id', controller.show);
user.controller.js:
// Get a single user
exports.show = function(req, res) {
User.findById(req.params.id, function (err, user) {
if(err) { return handleError(res, err); }
if(!user) { return res.send(404); }
return res.json(user);
});
};
然后我将呼叫具有 url 的用户,例如 users/xxxxxx
,其中 xxxx 是用户 ID。那么如果你想像/viewuser/id/xxxxxx
那样做,你需要像这样改变路线:
api/user/index.js
var controller = require('./user.controller');
router.get('viewuser/id/:id', controller.show);
user.controller.js:
// Get a single user
exports.show = function(req, res) {
User.findById(req.params.id, function (err, user) {
if(err) { return handleError(res, err); }
if(!user) { return res.send(404); }
return res.json(user);
});
};
也许您需要在应用服务器文件中指定视图
app.get('/userlist', function(req, res){
res.render('userlist', {
title: 'Your_Title'
});
});
希望对您有所帮助!