2017-03-23 4 views
0

) in meine Firebase-App, wenn ein neuer Benutzer sich anmeldet, füge ich ihre ursprünglichen Daten wie Displayname, emai, photourl der Datenbank unter dem obersten Knoten users hinzu. Das funktioniert gut.Schreiben von Daten mit Hilfe von update (

Jetzt, wenn ein Benutzer einen Status post, möchte ich den Post auf die oberste Ebene statuses Knoten hochladen, wo alle Benutzerstatus beibehalten werden. Und gleichzeitig möchte ich den Beitrag zum Postknoten des aktuellen Benutzers hochladen, d. H. users/currentuser/posts.

Ich folge die auf offizielle Feuerbasis Seite gezeigt Methoden here.

Das Problem ist, wenn ich die Post-Taste nichts getroffen geschieht und keine Daten in die Datenbank geschrieben werden

Meine Funktion, die aufgerufen wird, wenn die Post Taste wird geklickt:

function postStatus(){ 
    var ref = firebase.database().ref("allstatuses"); 
    var user = firebase.auth().currentUser; 

    var newStatusRef = ref.push(); 
    var newStatusKey = newStatusRef.key(); 

    var statusData = { 
     status: postInput.val(), 
     likes: 0, 
     dislikes: 0 
    }; 
    var updateUserStatus = {}; 
    updateUserStatus["users/" + user.uid + "/" + newStatusKey] = statusData; 
    updateUserStatus["allstatuses/" + newStatusKey] = statusData; 

    if(user){ 
     firebase.database().ref().update(updateUserStatus); 
    }else{ 
     alert("please login"); 
    } 

} 

Was mache ich falsch?

+0

Wenn Sie rufen 'firebase.database() .ref ("allstatuses"). child (ref.push(). key) .set (true) 'schreibt das erfolgreich in die Datenbank? –

+0

@FrankvanPuffelen wo soll ich das nennen? –

+0

@FrankvanPuffelen yippeee ,,, löste ich das Problem ,, ich postete die Antwort ,, wie auch immer vielen Dank für die Hilfe –

Antwort

1

Nach der API-Referenz link es ist der Schlüssel nicht Taste()

Ändern Sie diese

var newStatusKey = newStatusRef.key(); 

zu

var newStatusKey = newStatusRef.key; 
Verwandte Themen