2

在下面的代码中,我试图从数据库中获取用户详细信息并将其保存到会话中。但不幸的是,它并没有像我预期的那样工作,数据没有写入会话变量。我猜是因为价值传递?任何解决方法


exports.check = function(req,res,next){
    ..
    ..
    getUserFromDB(req);
}

function getUserFromDB(req){
    ..
    db.findOne(query,function(doc){
        req.session.user = doc;
    })
}
4

2 回答 2

4

我认为您错过了回拨电话。你在使用 express 和 mongodb 吗?我们应该发布完整的工作示例:)

exports.check = function (req, res, next) {
  getUserFromDB(req, next);
};

function getUserFromDB(req, callback) {
  db.findOne({ _id: req.qs.id }, function (err, doc) {
    req.session.user = doc;
    callback(err);
  });
}
于 2012-07-01T10:46:33.163 回答
0

还要检查错误,以及空文档(未找到)。

于 2012-08-31T21:09:59.880 回答