Wiem, że jestem spóźniony na odpowiedź tutaj, ale właśnie natknąłem się na potrzebę czegoś podobnego teraz i updateWithPriority
nie istnieje (ani sposobu na łatwe przeglądanie/edytowanie priorytetów w Kuźni).
Możesz dodać specjalnie nazwany klucz, .priority
do swojej aktualizacji i uzyskać pożądany efekt.
Klucz .priority
jest udokumentowany w Firebase REST API, ale może być używany w innych bibliotekach.
Więc w JavaScript, co następuje będzie działać, jeśli tylko chciał zaktualizować priorytet (co jest setPriority
do tego):
var fb = new Firebase("http://a_firebase.firebaseio.com");
var ref = fb.child("/path/to/child");
var data = { ".priority": (new Date()).getTime() } //timestamp, as you mentioned
ref.update(data);
Jeśli chcesz zmienić priorytet podczas Aktualizujemy inne właściwości, które jest co prosił, po prostu umieścić go z danymi chcesz zaktualizować:
var fb = new Firebase("http://a_firebase.firebaseio.com");
var ref = fb.child("/path/to/child");
var data = {
"property1": "updated_val",
"property2": "updated_val2",
".priority": (new Date()).getTime(), //timestamp, as you mentioned
}
ref.update(data);
EDIT: Żeby było jasne, to zaktualizować priorytet w miejscu odnośnika potomnego (tj. /path/to/child
), a nie priorytety poszczególnych dzieci, które są aktualizowane (tj. Priorytety property1
i property2
). Jeśli chcesz uwzględnić priorytet dla dzieci, które są aktualizowane, a dzieci są węzłami liści (tj. Ciągiem, liczbą, wartością logiczną), to możesz użyć specjalnie nazwanego klucza .value
w połączeniu z kluczem .priority
, aby to zrobić.
Poniższy przykład pokazuje, jak zaktualizować priorytet dla lokalizacji korzeniowego, że aktualizacja jest występującego z (tj path/to/child
), jak również dla obu dzieci, które toczy się aktualizację (tj property1
i property2
). Oczywiście możesz selektywnie wybrać priorytety do aktualizacji, jeśli nie chcesz ich wszystkich aktualizować.
var fb = new Firebase("http://a_firebase.firebaseio.com");
var ref = fb.child("/path/to/child");
var newPriority = (new Date()).getTime(); //timestamp, as you mentioned
var data = {
"property1": {".value": "updated_val", ".priority": newPriority},
"property2": {".value": "updated_val2", ".priority": newPriority},
".priority": newPriority
}
ref.update(data);
Jaki jest cel powielenia priorytetu w danych? Jakiś powód, dla którego nie używasz po prostu getPriority() na zwróconych danych? Zrozumienie szczegółów użycia tutaj pomoże uzyskać zwięzłą odpowiedź. – Kato
Z dwóch powodów - 1. Kuźnia Firebase nie wyświetla priorytetu i chcemy poznać tę wartość. i 2.Używamy interfejsów API REST w warstwie pośredniej na poziomie C#, aby pobierać dane w dół i znowu nie widzimy priorytetu w danych rozebranych. – Kartik
Możesz dodać "format = export" jako parametr zapytania do twoich wywołań REST w celu wyeksportowania danych priorytetowych. Niestety w Firebase nie ma jeszcze funkcji updateWithPriority. – Anant