Tengo entradas de base de datos en tiempo real como se muestra a continuación:
{ <FIREBASE_GENERATED_KEY>:{username:<NAME>,message:<TEXT>,time:<TIMESTAMP>}, <FIREBASE_GENERATED_KEY>:{username:<NAME>,message:<TEXT>,time:<TIMESTAMP>}, ... }Estoy interesado en obtener solo los valores ordenados por tiempo en orden descendente y mostrarlos en la interfaz de usuario. En Admin SDK haría algo como:
rdb .ref(`${rdb_paths.funfuse_connected_users}/${loc}`) .orderByValue('time') .get() Veo que hay un método orderByValue pero no toma ningún argumento. ¿Cómo podemos usar orderByValue o cualquier otra cosa para obtener valores en lugar de todo el objeto?
Firebase Realtime Database siempre devuelve nodos completos de JSON o un conjunto de nodos secundarios completos que calculan una determinada condición. No hay forma de obtener un subconjunto de las propiedades para cada nodo secundario.
Si regularmente necesita solo la propiedad de time de cada nodo secundario, considere agregar otra rama a su base de datos donde solo mantenga los valores de time .
Asi que:
"Original_data": { <FIREBASE_GENERATED_KEY>:{username:<NAME>,message:<TEXT>,time:<TIMESTAMP>}, <FIREBASE_GENERATED_KEY>:{username:<NAME>,message:<TEXT>,time:<TIMESTAMP>}, ... }, "Times": { <FIREBASE_GENERATED_KEY>: <TIMESTAMP>, <FIREBASE_GENERATED_KEY>: <TIMESTAMP>, ... }