Javascript 如何使用mongoDB和node.js重定向到查看页面

Javascript 如何使用mongoDB和node.js重定向到查看页面,javascript,node.js,mongodb,pug,Javascript,Node.js,Mongodb,Pug,我对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',

我对
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
页面。在那里我显示了所有用户的列表。我在每条记录上都有一个链接,可以查看详细信息:

下面是我的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/56aca898d9b0de79214ae381">Dhara</a>


现在我不知道点击链接时查看详细信息的路线应该是什么,以及如何为查看屏幕获取选定的记录数据。

我使用了一个清晰的分布式堆栈MEAN.js,它将帮助您构建安全且良好的编程应用程序

这是我获取具体用户数据的方式。它比你的代码传播得更广一些,但很清楚

希望有帮助

routes.js

app.use('/api/users', require('./api/user'));
var controller = require('./user.controller');
router.get('users/:id', controller.show);
var controller = require('./user.controller');
router.get('viewuser/id/:id', controller.show);
api/user/index.js

app.use('/api/users', require('./api/user'));
var controller = require('./user.controller');
router.get('users/:id', controller.show);
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);
  });
};
// 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

app.use('/api/users', require('./api/user'));
var controller = require('./user.controller');
router.get('users/:id', controller.show);
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);
  });
};
// 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',函数(req,res){
res.render('userlist'{
标题:“你的标题”
});
});


我希望能有所帮助

谢谢@Alejandro它帮助了我。欢迎你!!!我强烈建议使用那种堆栈!!!它们是正确分布的,将帮助您了解均值的可能性!