nodejs(expressjs)如何将2个查询中的信息传递给jade?

时间:2014-03-25 21:09:49

标签: javascript mysql node.js express pug

我有一个用户及其信息表和一张不同的表来跟踪朋友:setting up a friend list in mysql

我正在尝试使用jade,profile.jade做这样的事情:

    - each user in users
        h1='Welcome to '+user.username+' profile!'

    - each friend in friends
        p=row.friend2

表达

function select(id, res) {
    connection.query(' SELECT * FROM profiles WHERE username = "'+id+'" ' , function(err, rows){
        res.render('profile', {users : rows});  
    });

    connection.query(' SELECT * FROM friends WHERE friend1 = "'+id+'" ' , function(err, rows){
        res.render('profile', {friends: rows});     
    });
}

^这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

connection.query(' SELECT * FROM profiles WHERE username = "'+id+'" ' , function(ferr, profile_rows){
 connection.query(' SELECT * FROM friends WHERE friend1 = "'+id+'" ' , function(err, friends_rows){
  res.render('profile', {friends: friends_rows, users : profile});     
 })
});

这是一个简单的解决方案,可以使其工作,但是使查询顺序运行,从而增加加载时间。