0

Jeder hat einen Vorschlag, wie dies funktioniert. Ich habe eine Facebook-Anmeldung, und wenn es keine Daten für diesen Benutzer gibt, schreiben Sie Daten.Firestore soziale Anmeldung in die Datenbank hinzufügen

let users = firebase.usersCollection; 


signUserInFacebook() { 
const self = this; 
var provider = new Firebase.auth.FacebookAuthProvider(); 
Firebase.auth().signInWithPopup(provider) 
.then(function(user) { 
    usersRef.orderByChild('email').equalTo(user.email).once('value', 
    function(snapshot){ 
    var exist = (snapshot.val() !== null); 

    if(!exist){ 
     users.add(user) 
     } 
    } 

}) 

},

Antwort

0

Es gibt mehrere Möglichkeiten, diese

  1. zu tun Wenn Sie die Benutzer-E-Mail haben (muss eindeutig sein) als Teil ihrer Informationen, können Sie diese

    tun
     //check if this is first sign in, if yes save new user to db 
        userRef.orderByChild('email').equalTo(user.email).once('value', function(snapshot){ 
         var exist = (snapshot.val() !== null); 
    
         if(!exist){ 
          //add new user here 
         } 
    

    Normalerweise möchte ich die UID eines neu erstellten Benutzers als ihren Schlüssel festlegen, damit ich sie immer verwenden kann, wenn ich nach einem abfragen muss Benutzer anstelle eines eindeutigen Werts wie E-Mail.

+0

So etwas wie diese Bearbeitung? –

+0

Verwenden von Firestore. –

Verwandte Themen