Im trying to create data if a facebook id exists in the database else create new data, however the first condition works fine but when its creating data nothing happens, ony get connot read property 'provider' of null
even i hard code a provider value.
db.collection('accounts', function(err, collection){
collection.findOne({'email': fbEmail}, function(err, item){
var providerId = item.provider.facebook.id;
console.log("facebook id should be: "+providerId);
if(providerId == ""){
collection.update({email:fbEmail, 'provider.facebook.id':""}, {$set: {"provider.facebook.id": fbId}}, {safe:true}, function(err){
if(err){
console.log(err);
}else{
console.log("id updated!");
};
});
}else{ //creates a new user
console.log("creating a new account...");
collection.update({'email': fbEmail}, {
'email': fbEmail,
'provider':
{
'facebook': {'id': fbId},
'twitter': {'id': ""}
}
}, {upsert:true}, function(err, doc){
if(err){
console.log("Error finding email "+err);
}
});
}
});
});