Dire che ho la seguente struttura:Firebase: come inserire la transazione?
{
"-InSwU2yHOEHwhP_m4_n" : {
".priority" : 0.0,
"name" : "abc"
},
"-InSw_P0j8A-0Njj0Uvf" : {
".priority" : 1.0,
"name" : "def"
}
}
vorrei aggiungere un altro elemento simile con un GUID come chiave e la priorità è uguale al numero di elementi attualmente presenti (in questo caso 2). Il risultato dovrebbe essere simile a questo:
{
"-InSwU2yHOEHwhP_m4_n" : {
".priority" : 0.0,
"name" : "abc"
},
"-InSw_P0j8A-0Njj0Uvf" : {
".priority" : 1.0,
"name" : "def"
},
"-InSxV-RVkZ07_f3uDnJ" : {
".priority" : 2.0,
"name" : "ghi"
}
}
Nota che, poiché più client potrebbero provare ad aggiungere tale elemento, allo stesso tempo, questo deve essere una transazione.
Qualche idea?
Grazie Kato! Dovrei anche notare che se si utilizza push(), gli elementi verranno visualizzati nell'ordine in cui sono stati aggiunti (purché siano stati inviati dallo stesso client. Altri client potrebbero avere orologi distorti, che cerchiamo di compensare , ma non sempre con successo al 100%). –