Mis datos se almacenan con claves como horas desde la época. Quiero obtener solo una porción de los datos; por ejemplo, quiero especificar que quiero que todos los datos comiencen en 453615 .
Hasta ahora tengo este código:
this.dbService.databaseRef.child('dev_trends/' + this.deviceUid) .orderByKey() .startAt('453615') .get().then(dataTrends => { const data = dataTrends.val(); console.log(data); });Con el código anterior obtengo estos resultados en mi consola:
Mi modelo de datos se ve así:
Creo la variable databaseRef dentro de un servicio con este código:
constructor(private db: AngularFireDatabase) { //Set what happens when we read all devices this.databaseRef = db.database.ref(); //Create databaseReference }Json de mis datos:
{"dev_trends" : { "-MkMxxZXXzmKclgeGPde" : { "H" : { "453614" : "50;45", "453615" : "50;50", "453617" : "50;55", "453630" : "51;60" }, "T" : { "453614" : "24;18", "453615" : "23;17", "453617" : "23;15", "453630" : "22;10" } } }}Averigüe dónde estaba el problema:
startAt() estaba filtrando datos con las claves H y T y no las listas de datos dentro de esas claves.Nuevo modelo de datos:
Información adicional: