javascript - query - ¿Cómo obtener el tamaño de un elemento/lista en Firebase sin obtenerlo todo?
query firebase android (1)
Firebase no cuenta con un operador de conteo, por lo que la única forma es descargar todos los elementos <children>_count
o mantener una propiedad separada de <children>_count
en sincronización. Esta última no es una tarea trivial (ver mi respuesta aquí para un enfoque ), por lo que la mayoría de las veces los desarrolladores probablemente terminan usando el enfoque de descargas-demasiados-datos-pero-es trivial:
ref.child("messages").on("value", function(snapshot) {
console.log("There are "+snapshot.numChildren()+" messages");
})
Una manera más eficiente de contar los hijos sería lanzar una llamada REST con shallow=true
parámetro shallow=true
, que le dará solo las claves. Ver En Firebase, ¿hay alguna manera de obtener el número de hijos de un nodo sin cargar todos los datos del nodo?
Necesito medir el tamaño / duración de un elemento o lista en Firebase, pero no necesito el contenido real.
Algo así como firebase.database().ref("users/").once("length" || "size").then(callback)
ps Javascript SDK