2012-07-01 93 views
2

在下面的代碼中,我試圖從數據庫中提取用戶詳細信息並將其保存到會話中。但不幸的是,它並不像我預期的那樣工作,數據沒有寫入會話變量。我想這是因爲傳遞價值?任何解決方法在回調中將數據添加到nodejs express中的會話


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

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

回答

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); 
    }); 
} 
0

還檢查錯誤,也爲空doc(未找到)。

相關問題