从角度获取数据库中的数据

时间:2015-10-21 04:01:17

标签: angularjs node.js mongodb

我是fullstack应用程序的新手,我刚刚设法用护照实现facebook身份验证。现在我已正确设置我的架构/模型,护照以我想要的方式在mongodb中保存facebook个人资料。

现在我想让mongodb中的条目与我的Angular代码交谈。现在我在我的护照路线上做了一个黑客,如果有一个req.user(每个mongoose架构都有一个facebook对象),我将该用户设置为Angular中的rootScope.user,使用如下cookie(见下文)护照代码中的cookie一直在底部重新发送。)

var user = $cookies.user;
$rootScope.currentUser = user;
对于可伸缩性来说,这显然不是一个好主意。如何获取存储在mongo中的facebook数据(感谢护照),让Angular与它交谈?我想象一种路由的$ http请求。我是否会提出要求,说' / profile'如下我的护照代码?我很困惑,我知道这是我需要理解的核心概念。

// if no error, this gets hit:
app.get('/auth/facebook/callback', function (req, res, next) {

  console.log('on the way back');

  passport.authenticate('facebook', function (err, user, redirectURL) {
    console.log(' in the callback ');
    if (err) {
      return res.redirect('/#!/login');
    }

    if (!user) {
      return res.redirect('/#!/signup');
    }
    if (req.user) {
      console.log(req.user);
      res.cookie('user', JSON.stringify(req.user));
  }
    //actually storing the fact that they are logged in:
    req.login(user, function (err) {
      if (err) {
        return res.redirect('/#!/login');
      }

      return res.redirect('/');
    });
   })(req, res, next);
 });

app.get('/profile', function(req, res, next) {
  // get the data here from Mongo somehow?
});

0 个答案:

没有答案