Summe Firebase-Daten effizient nach oben

Ich habe eine App, in der ich bis zu ein paar tausend Einträge in einer Firebase-Tabelle habe. Jetzt verbindet sich jemand mit dieser Tabelle und ich muss diese Elemente zählen und zusammenfassen.

-itemlist
|
--1
  |-x:2
--2
  |-x:4

und so weiter. Ein Benutzer kann jederzeit eine Verbindung herstellen (dh, er hat diese Tabelle noch nie zuvor gesehen), und ein anderer Benutzer kann jederzeit einen Wert ändern oder Werte hinzufügen.

Nun, wenn ich versuche, ein @ hinzuzufügValueEventListener auf "itemlist" funktioniert es, wenn es keine neuen Daten gibt, aber sobald ich mich mit einer neuen Datenbank mit 1000 Einträgen verbinde, ruft der Listener für jeden dieser 1000 Einträge auf.

Ich habe es mit onChildlistener versucht, aber dies ruft das on ChildItem auf, das für jedes zusätzliche Element beim ersten Mal hinzugefügt wurde. Dies dauert manchmal mehr als 2 Minuten.

Gibt es eine Möglichkeit, die gesamte Datenbank einmal abzurufen, zu berechnen und dann nur auf Änderungen zu warten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage