簡體   English   中英

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

[英]How to redirect to view page using mongoDB and node.js

我是node.jsmongoDBjade mongoDB

重定向到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>

現在我不知道應該在哪個路線上查看點擊鏈接的詳細信息以及如何獲取查看屏幕的選定記錄數據。

我使用一個清晰​​的分布式堆棧MEAN.js ,帶有一個yeoman構造函數 ,可以幫助您構建安全和良好實踐的編程應用程序。

這是我獲取具體用戶數據的方式。 它比你的代碼傳播得多,但很清楚。

希望能幫助到你!

routes.js

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

API /用戶/ 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的用戶,其中xxxx是用戶ID。 那么如果你想像/viewuser/id/xxxxxx你需要改變這樣的路線:

API /用戶/ 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' }); });

我希望能有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM