Используя Everyauth, когда я вхожу в систему с никогда ранее не прошедшим аутентификацию пользователем на моем сайте, запускается следующий код.Проверяет, есть ли пользователь в моем mongodb, если нет, то пишет.Сейчас проблема в том, что это работает для первого аутентифицированного пользователя, затем, если второй пользователь входит в систему, мои параметры joiningUser._id правильно инициированы, но все остальные параметры моей схемы от первого когда-либо сохраненного пользователя, как мои параметрыникогда не инициализируется повторно ... странно, мой console.log показывает правильные новые параметры, а не то, что фактически записано в базе данных.Моя аутентификация выполняется через модуль everyauth, я использую экспресс-фреймворк.
exports.findOrCreateFacebookUser = function(fbUserData, promise){
User.findOne({_id:fbUserData.id}, function(err, user) {
if(err) {
console.log("Error in finding user for auth. Check Db");
promise.fail(err);
return;
}
else if(user){
console.log("User found ");
promise.fulfill(user);
}
else{
var joiningUser = new User();
joiningUser._id = fbUserData.id;
joiningUser.firstName = fbUserData.first_name;
joiningUser.lastName = fbUserData.last_name;
joiningUser.email = fbUserData.email;
//console.log(JSON.stringify(joiningUser));
joiningUser.save(function(err){
if(err){
console.log("Couldnt save new user: " + err);
promise.fail(err);
return;
}
else{
console.log("User wasnt existant, it is now created: " + JSON.stringify(joiningUser));
promise.fulfill(joiningUser);
}
});
}
});
};