如何在单一路径中服务多个Mongoose动作

时间:2017-08-01 11:01:44

标签: node.js mongodb express mongoose

我想将此代码添加到我的App.get路径

User.findById(req.params.id).exec(function(err, foundUser){
    if(err){console.log(err);}
    else {
       res.render("ranking", {currentUser: req.user ,location: req.originalUrl, user: foundUser});
    }
  });

这是我的 App.get路线

app.get("/ranking",isLoggedIn , function(req, res){
  User.find({}).sort({points: -1}).exec(function(err, user) {
    if(err){console.log(err);}
    else {
  res.render("ranking",{currentUser: req.user, location: req.originalUrl, users: user});
    }
});
})

我需要一个很好的方法将此代码用于上面的路线....谢谢! 应该是这样的:

    app.get("/ranking",isLoggedIn , function(req, res){
  User.find({}).sort({points: -1}).exec(function(err, user) {
    if(err){console.log(err);}
    else {
      User.findById(req.params.id).exec(function(err, foundUser){
      if(err){console.log(err);}
      else {
        res.render("ranking",{currentUser: req.user, location: req.originalUrl, users: user});

      }
    });
    }
  });
    });

1 个答案:

答案 0 :(得分:0)

在app.get路由中的else语句内插入您需要的findbyid调用。

您还需要以不同方式捕获用户ID,例如使用参数并且您的路线中没有