Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

297
Vistas
Firebase: ¿cómo eliminar el rango de elementos dentro del nodo según las claves de marca de tiempo?

Los datos de mi base de datos de Firebase se ven así:

ingrese la descripción de la imagen aquí

  • Los números son marcas de tiempo en segundos (por lo que los datos son básicamente una serie de tiempo).
  • Quiero borrar todos los datos ANTERIORES a los 5 segundos.
  • Estoy usando la nueva Version 9 Modular JavaScript SDK's

Entonces, por ejemplo, si tomamos que la hora actual es 1637149389 , quiero eliminar todos los datos de acuerdo con la imagen a continuación: ingrese la descripción de la imagen aquí

Intenté usar este código, pero el resultado es que se eliminó toda mi ruta a los datos (incluidos los datos que no tienen más de 5 segundos):

 var timestamp = Math.round(Date.now() / 1000) - 5; //get Timestamp in Mili, convert to Seconds, and then set it 5 seconds to the past var UID = 'uid1'; const ref = ref( database, 'device_realtime/' + UID ); var refQuery = query( ref, ...[fb.orderByKey(), fb.endAt(timestamp.toString())] ); remove(refQuery);
  • Estoy un poco confundido porque cuando llamo a get(refQuery) en la misma consulta, mis resultados son correctos.
  • ¡Solo veo datos de más de 5 segundos!

Consola:

ingrese la descripción de la imagen aquí

¿Cómo eliminaría solo cierto rango de elementos en función de su marca de tiempo?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Para eliminar un nodo, debe conocer la ruta completa a ese nodo. Firebase no admite consultas de actualización/eliminación, en las que pasa la referencia raíz y una condición a la base de datos.

Por lo tanto, deberá llamar a remove() en cada nodo secundario individual que desee eliminar.

Algo como:

 get(refQuery, (results) => { results.forEach((snapshot) => { remove(snapshot.ref); }) })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda