2016-08-21 4 views
5

Hallo Ich arbeite an einem Firebase-Projekt und ich kann meine Daten über Javascript in Firebase-Datenbank speichern. Aber ich konnte es nicht herausfinden, um Kindwert automatisch zu erhöhen (mein Kindwert ist duyuru, Sie können die Details unten sehen) meiner Datenbank. Ich teile meinen Code unten mit. Kannst du mir Hinweise geben, um dieses Problem zu lösen?Auto inkrementieren einen Wert in Firebase mit Javascript

<script> 

     // Initialize Firebase 
     var config = { 
     apiKey: "sample1", 
     authDomain: "sample2", 
     databaseURL: "sample3", 
     storageBucket: "sample4", 
     }; 


     firebase.initializeApp(config); 
     var database = firebase.database(); 

    firebase.initializeApp(config); 
    var database = firebase.database(); 

    function writeUserData(userId, name, email, imageUrl) { 
    var kategori1 = document.getElementById("kategori").value; 
    var duyuru1 = document.getElementById("duyuru").value; 
    var name1 = document.getElementById("name").value; 
    var email1 = document.getElementById("email").value; 
    var imageUrl1 = document.getElementById("imageUrl").value; 





    firebase.database().ref(kategori1 +"/" + duyuru1).set({ 
    username: name1, 
    email: email1, 
    profile_picture : imageUrl1 
    }); 
} 

    </script> 

und das aus ist wie dieser

{ 
    "duyuru1": { 
     "email": "kjfdlkl", 
     "profile_picture": "dsfsd", 
     "username": "meraha" 
    } 
} 

I zur Ausgabe von Daten wünschen mögen;

Duyuru (Kind Wert) Abschnitt sollte Auto Inkrement sein, das ist, was ich wollte für. Vielen Dank für Ihre Antworten

Antwort

8

Firebase hat keine automatisch inkrementierenden Tasten, da diese in massiven Mehrbenutzersystemen, in denen Clients für längere Zeit offline sein können, nicht gut funktionieren.

Stattdessen verfügt Firebase über eine eigene Art von automatisch generierten Schlüsseln, die als Push-IDs bezeichnet werden. Diese Push-IDs weisen in vielen relationalen Datenbanken die gleichen wichtigen Eigenschaften von Sequenzen auf: Sie sind geordnet und sequenziell. Sie können jedoch auch clientseitig berechnet werden, auch wenn der Client nicht mit den Firebase-Servern verbunden ist.

Siehe die Firebase documentation on saving data in lists, diese Legacy blog post on why arrays don't work well in Firebase und diese post on how push ids work.

+0

Vielen Dank für die Beantwortung meiner Frage. Aber ich möchte dich etwas fragen, wenn ich diese Methode benutze, hat es zufällige Schlüssel erstellt, ich frage mich nur, ob es irgendeine Möglichkeit gibt, benutzerdefinierte Inkremente mit Javascript zu erstellen. Zum Beispiel, wenn Benutzer Daten automatisch hinzufügen. Zum Beispiel für den ersten Post duyuru1, zweiten Post duyuru2, etc .. –

+0

Das ist die Nummer am Ende scheint wie ein Array-Index und wird daher nicht skalieren. Die Links, die ich zur Verfügung gestellt habe, erklären die Gründe besser als ich hier tun kann. Wenn Sie darauf bestehen, benutzerdefinierte Sequenzen zu verwenden, müssen Sie sie selbst implementieren. Firebase hat keine integrierte Unterstützung für sie. –

+0

Ja, nach dem Link, dass Sie mir ihre bessere Arbeit mit dieser Standard-Eigenschaft gab danke. Deine Antwort gibt mir einen weiteren Blick auf meine App. Einen schönen Tag noch –

Verwandte Themen