2

以下のコードでは、DBからユーザーの詳細を取得してセッションに保存しようとしています。しかし、残念ながら、期待どおりに機能せず、データはセッション変数に書き込まれません。値渡しのせいだと思いますか?回避策


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

また、errをチェックし、null doc(見つからない)もチェックします。

于 2012-08-31T21:09:59.880 に答える