Nel fare un po 'più di programmazione con Firebase oggi, mi sono trovato che desiderano per un paio di caratteristiche:Esiste (o è stato preso in considerazione) qualcosa come "unione" o "batch" in Firebase?
1) Merge set:
dire che ho un Firebase ref
che ha il valore {a:1,b:2,c:3}
.
Se faccio qualcosa come ref.set({a:-1,b:-2})
il nuovo valore sarà (non sorprendentemente) {a:-1,b:-2}
.
Invece, immagina ref.mergeSet({a:-1,b:-2})
che avrebbe un risultato nel valore del riferimento {a:-1,b:-2,c:3}
.
Ora, mi rendo conto che avrei potuto fare qualcosa di simile ref.child("a").set(-1)
e ref.child("b").set(-2)
per raggiungere questo risultato, ma almeno in alcuni casi, preferisco ottenere solo una singola chiamata al mio .on()
gestore.
Questo segue la mia seconda idea.
2) Batch set:
Nella mia domanda mi piacerebbe un modo per forzare un numero arbitrario di chiamate per .set
di provocare in una sola chiamata a .on
in altri client. Qualcosa di simile:
ref.startBatch()
ref.child("a").set(1)
ref.child("b").set(2)
....
ref.endBatch()
In modalità batch, .set
non si tradurrebbe in una chiamata a .on
, invece, il numero minimo di chiamate al .on
sarebbe tutto frutto di chiamare .endBatch
.
ho difficoltà ad ammettere che queste idee sono abbastanza nascente, e io non sarei sorpreso se sono in contraddizione con le caratteristiche architettoniche esistenti di Firebase, ma ho pensato di condividere loro comunque. Trovo che dovrò dedicare più tempo a garantire coerenza tra i client quando utilizzo Firebase di quanto mi aspettassi.
Grazie ancora, e continuate così.