że mam następującą strukturę:Firebase: jak wprowadzić transakcję?
{
"-InSwU2yHOEHwhP_m4_n" : {
".priority" : 0.0,
"name" : "abc"
},
"-InSw_P0j8A-0Njj0Uvf" : {
".priority" : 1.0,
"name" : "def"
}
}
chciałbym dodać inny podobny przedmiot z GUID jako kluczowy priorytet i jest równa liczbie elementów prezentowanych obecnie (w tym przypadku 2). Wynik powinien wyglądać mniej więcej tak:
{
"-InSwU2yHOEHwhP_m4_n" : {
".priority" : 0.0,
"name" : "abc"
},
"-InSw_P0j8A-0Njj0Uvf" : {
".priority" : 1.0,
"name" : "def"
},
"-InSxV-RVkZ07_f3uDnJ" : {
".priority" : 2.0,
"name" : "ghi"
}
}
Zauważ, że wielu klientów może próbować dodać taką pozycję w tym samym czasie, musi to być transakcji.
Wszelkie pomysły?
Dzięki Kato! Powinienem również zauważyć, że jeśli użyjesz funkcji push(), elementy pojawią się w kolejności, w jakiej zostały dodane (o ile zostały wypchnięte z tego samego klienta, inni klienci mogą mieć skośne zegary, które staramy się zrekompensować , ale nie zawsze w 100% z powodzeniem). –