Mam następującą hierarchię na Firebase, niektóre dane są ukryte dla poufności:Otrzymuj nazwy węzłów dziecka w Firebase bez uzyskiwania ich dzieci również w odpowiedzi Firebase?
Próbuję uzyskać listę identyfikatorów filmów (podkreśla na czerwono)
mogę tylko uzyskać wszystkie węzły, a następnie wykryć ich nazwy i zapisać je w tablicy!
Ale to powoduje niską wydajność; ponieważ dataSnapshot
z bazy Firebase jest bardzo duże w moim przypadku, więc chcę uniknąć pobierania wszystkich treści węzłów, a następnie przerzucać je w pętli, aby uzyskać identyfikatory, muszę tylko pobrać tylko identyfikatory, tj. bez ich elementów zagnieżdżonych.
Oto mój kod:
new Firebase("https://PRIVATE_NAME.firebaseio.com/videos/").once(
'value',
function(dataSnapshot){
// dataSnapshot now contains all the videos ids, lines & links
// this causes many performance issues
// Then I need to loop over all elements to extract ids !
var videoIdIndex = 0;
var videoIds = new Array();
dataSnapshot.forEach(
function(childSnapshot) {
videoIds[videoIdIndex++] = childSnapshot.name();
}
);
}
);
Jak mogę pobierać tylko identyfikatory uniknąć dużo transferu danych i uniknąć pętli nad danymi retrived uzyskać identyfikatory? czy istnieje sposób na bezpośrednie pobranie tych identyfikatorów?
hej @Kato jest jakieś plany, aby dodać 'shallow' do SDK? –
Brak. Czy używasz narzędzia, które nie może wysłać żądania HTTP? Jeśli jest to niepraktyczne, możesz zapisać listę identyfikatorów w ścieżce sep dla odniesienia SDK. Zobacz aktualizacje wielościeżkowe. – Kato