【发布时间】:2014-09-13 16:17:02
【问题描述】:
我正在尝试在我的 MongoDb 中保存一个新文档(用户)并使用回调。代码一直运行直到保存用户,但之后我得到一个错误。所以我可以保存用户。我有以下代码:
function saveUser(userName, socialMediaType, socialMediaID, setDocNumber, callback){
var user;
if(socialMediaType == "fbUID"){
user = new users({
userName: userName,
userEmail: 'userEmail',
teams:[],
fbUID : socialMediaID
});
}else
if(socialMediaType =="google"){
//do the same
}
var query = {}
query["'"+ socialMediaType +"'" ] = socialMediaID
users.findOne(query, function(err, userFound){
if (err) { // err in query
log.d("Error in query FoundUser", err)
log.d("User Found", userFound)
}else
if(userFound == undefined){ //if user does not exist
user.save(function(err, user){
if(err) return console.error(err);
log.d("user saved", user);
currentSession = sessionOBJ.login(user._id, socialMediaID);
callback(currentSession,"created")
});
}else{
currentSession = sessionOBJ.login(userFound._id, socialMediaID);
callback(currentSession,"logged")
}
});
}
我通过这段代码调用了上面的函数:
f(fbUID !== undefined){
userModelOBJ.saveUser(userName,"fbUID", fbUID, function(currentSession, status) {
res.send({"status":status,
"sessionID": currentSession.sessionID,
"expires" : currentSession.date});
});
我收到此错误:
错误在一行:
callback(currentSession,"created")
可能是什么问题?
我已经做过很多研究,但这是一个特定的案例。
【问题讨论】:
标签: node.js callback mongoose mongodb-query asynccallback