如何从给定ID获取用户信息并使用Node.js和EJS显示它

时间:2014-11-27 11:49:24

标签: node.js mongodb function mongoose ejs

我有一个使用EJS模板的主页,
我想使用URL中用户的ID显示用户名(不是现在登录的用户)

页面的调用如下:

/home?id=235325325235

这是home.ejs的一部分:

<!-- i want to get the username or other info of another user -->
<p> Hello <%= get.otheruser.name(id) %> </p>

这是我的routes.js

的一部分
// load up the user model
var User       = require('../app/models/user');

app.get('/home', function(req, res) {
    res.render('home.ejs', {
        id              : req.query.id,
        otheruser       : User.findById( req.query.id ), //error this doesn't get the info i need
        currentuser     : req.user  //ignore this, this is the information of the current logged in user
    });
});

但是,如果登录用户想要查看其他用户的主页会怎样?

他会使用其他用户的ID调用主页

/home?id=43565476535

我需要一个使用URL

中的ID获取所有信息的函数

如何使用node.js完成?

1 个答案:

答案 0 :(得分:1)

要回答我的问题,我找到了办法。

app.get('/home', function(req, res) {
    //get user information based on the id url parameter
    User.findById(req.query.id, function(err, doc) {
            res.render('home.ejs', {
                id     : doc._id
            });     
    });
});

它需要findById使用URL中的id获取用户ID。