У меня есть следующая иерархия на firebase, некоторые данные скрыты для конфиденциальности:
Я пытаюсь получить список идентификаторов видео (подчеркивает красным)
Я могу получить только все узлы, затем определить их имена и сохранить их в массиве!
Но это приводит к низкой производительности; потому что dataSnapshot
от firebase очень большой в моем случае, поэтому я хочу, чтобы избежать получения содержимого всех узлов, а затем перебирать их для получения идентификаторов, мне нужно просто получить только идентификаторы, т.е. без их вложенных элементов.
Здесь мой код:
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();
}
);
}
);
Как я могу получить только идентификаторы, чтобы избежать многотысячной передачи данных и избегать циклирования полученных данных для получения идентификаторов? есть ли способ просто получить эти идентификаторы напрямую?