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

How to redirect to view page using mongoDB and node.js

本文关键字:重定向 js 何使用 mongoDB node      更新时间:2023-09-26

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

以下是我的用户列表.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>

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

我使用一个清晰的分布式堆栈 MEAN.js,带有一个 yeoman 构造函数,它将帮助您构建安全和良好的编程应用程序。

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

希望对您有所帮助!

路线.js

app.use('/api/users', require('./api/user'));

API/用户/索引.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/用户/索引.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' }); });

希望对您有所帮助!