【问题标题】:How to redirect to view page using mongoDB and node.js如何使用 mongoDB 和 node.js 重定向到查看页面
【发布时间】:2016-01-30 12:33:38
【问题描述】:

我是 node.jsmongoDBjade 的新手。

要重定向到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/#{user._id}")=user.username

给我:

<a href="/viewuser/id/56aca898d9b0de79214ae381">Dhara</a>

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

【问题讨论】:

    标签: javascript node.js mongodb pug


    【解决方案1】:

    我使用一个清晰​​的分布式堆栈 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);
      });
    };
    

    然后我会调用一个带有类似users/xxxxxx 的 URL 的用户,其中 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);
      });
    };
    

    【讨论】:

    • 感谢@Alejandro,它对我有帮助。
    • 欢迎您!!!我强烈推荐使用那种栈!!!它们分布正确,将帮助您了解 MEAN 的可能性!
    【解决方案2】:

    也许您需要在应用服务器文件中指定视图

    app.get('/userlist', function(req, res){ res.render('userlist', { title: 'Your_Title' }); });

    希望对你有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-21
      • 2020-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多