Estoy construyendo una aplicación de chat allí.
Y estoy usando Firebase Realtime Database y Firebase V9.1.1
¿Cómo puedo pedir la instantánea por clave de fecha ?
Ahí está el aspecto de mi estructura DB
Como podemos ver, los datos dentro de la base de datos no ordenan la fecha de forma predeterminada.
Ahí está la consulta que probé:
onValue(query(ref(db, chatBaseURL), orderByChild('chatDate')), snapshot => console.log(snapshot.val())El problema es que llamas a snapshot.val() en toda la instantánea de resultados. Esto le brinda todos los resultados como un objeto JSON, y las claves en un objeto JSON tienen un orden de clasificación indefinido por definición.
Para registrar los resultados en el orden que solicitó, recorra la instantánea resultante con snapshot.forEach() :
onValue(query(ref(db, chatBaseURL), orderByChild('chatDate')), results => results.forEach((snapshot) => { console.log(snapshot.val()); }); });