У меня есть большой набор данных (~ 100 тыс. Записей), который подписывается на использование события child_added. Используя узел 7 и firebase 3.6.1, выполнение этого, похоже, загружает целые записи за 100 КБ до того, как будет запущено одно событие child_added.Подкачка child_added, похоже, загружает весь набор данных
Потребление памяти значительно увеличивается в течение нескольких десятков секунд, а затем все события child_added запускаются быстро друг за другом.
Это медленно:
require('firebase').
initializeApp({databaseURL: 'https://someproject.firebaseio.com'}).
database().ref('data').
on('child_added', (snap) => console.log(snap.key));
Ограничение по-прежнему быстро (задержка несколько секунд):
require('firebase').
initializeApp({databaseURL: 'https://someproject.firebaseio.com'}).
database().ref('data').limitToFirst(10).
on('child_added', (snap) => console.log(snap.key));
Учитывая потоковый характер Firebase, я полагаю, он не предназначен поведение для child_added подписок загрузите весь набор данных клиенту до того, как все будет сделано.
Я делаю что-то неправильно или это ошибка?
Это не объясняет, почему весь набор данных загружается первым, прежде чем запускается какое-либо из событий child_added. Ожидаемым поведением было бы видеть, что эти события срабатывают при загрузке записей или, по крайней мере, в меньших партиях. Я изменил примеры кода, спасибо, что дал мне знать. – tjclement
Хорошо, я обновляю свой ответ ... – Anfuca
Это противоречит тому, что Firebase была создана для создания (потоковой передачи данных), поэтому я с трудом принимаю, что это действительно предназначенное поведение. – tjclement