Ich habe die Firebase-Dokumentation gelesen Daten strukturieren. Die Datenspeicherung ist billig, aber die Zeit des Benutzers ist es nicht. Wir sollten für Get-Operationen optimieren und an mehreren Stellen schreiben.
Dann speichere ich vielleicht a Liste Knoten und a Listenindex -Knoten, mit einigen doppelten Daten zwischen den beiden, zumindest dem Listennamen.
Ich verwende ES6 und verspreche in meiner Javascript-App, den asynchronen Fluss zu handhaben, hauptsächlich das Abrufen eines Ref-Schlüssels von Firebase nach dem ersten Daten-Push.
let addIndexPromise = new Promise( (resolve, reject) => {
let newRef = ref.child('list-index').push(newItem);
resolve( newRef.key()); // ignore reject() for brevity
});
addIndexPromise.then( key => {
ref.child('list').child(key).set(newItem);
});
Wie stelle ich sicher, dass Daten bleiben überall synchronda ich weiß, dass meine App nur auf dem Client ausgeführt wird?
Zur Plausibilitätsprüfung habe ich ein setTimeout in meinem Versprechen gesetzt und meinen Browser geschlossen, bevor es aufgelöst wurde, und tatsächlich war meine Datenbank nicht mehr konsistent, mit an zusätzlicher Index ohne entsprechende Liste gespeichert.
Irgendein Rat?
Ich werde eine richtige Antwort unten schreiben. Der erste Satz freut mich. Können Sie es auf Geburtstagsfeiern wiederholen? Vor allem, wenn Entwicklerfreunde anwesend sind. 🙂
– Frank van Puffelen
7. Juni 2015 um 21:50 Uhr
Dies scheint relevant zu sein, auch .. stackoverflow.com/questions/47334382
– Fett
5. März 2018 um 11:08 Uhr