carterw485
Me gustaría eliminar los datos que tienen más de dos horas. Actualmente, en el lado del cliente, reviso todos los datos y ejecuto una eliminación en los datos obsoletos. Cuando hago esto, el db.on('value')
La función se invoca cada vez que se elimina algo. Además, las cosas solo se eliminarán cuando un cliente se conecte, y ¿qué podría pasar si dos clientes se conectan a la vez?
¿Dónde puedo configurar algo que elimine datos antiguos? Tengo una marca de tiempo dentro de cada objeto creado por un JavaScript Date.now()
.
-
En su ejemplo, obtiene los registros guardados hace 2 horas o menos. Tal vez debería usar endAt en lugar de startAt. Pero igual gracias por tu respuesta me ayudo
– Crema
17 de mayo de 2016 a las 7:03
-
¡Buena atrapada! Reparado.
–Frank van Puffelen
17 mayo 2016 a las 9:55
-
Hola Frank, estoy tratando de hacer algo similar en Swift, sin embargo, parece que no puedo entender qué método está llamando en el oyente. Pasé algunas horas buscando e intentando, ¡pero decidí que era hora de pedir ayuda!
– Ahi
16 de septiembre de 2016 a las 7:46
-
Cuando implementé esto, todos los datos se eliminaron después de 1 segundo en lugar de 2 horas. He copiado y pegado exactamente el código, así que no sé qué está pasando.
– Dani Kemper
18/09/2017 a las 19:13
-
Nota para cualquier persona que cargue una marca de tiempo desde iOS: timeIntervalSince1970 está en segundos y Date.now() está en milisegundos, así que asegúrese de convertir según sea necesario
– Simón
3 de febrero de 2019 a las 17:48
-
¡Gracias por el trabajo cron! salvavidas!
– devDeejay
28 de enero de 2020 a las 13:14
-
cronjob es gratis?
– lucas cruz
14 de agosto de 2020 a las 10:51
-
Necesito una solución en swift 4, ¡alguna idea!
– steve sarsawa
20 de junio de 2019 a las 6:24
-
¿La marca de tiempo es un número largo (en firebase) o es un tipo de marca de tiempo?
– lucas cruz
14 de agosto de 2020 a las 10:49
puedes usar
$interval
que se disparan en cada intervalo de tiempo dado en milisegundos, configúrelo en 7200000, es decir, 2 horas– Gaurav bhavsar
14 de agosto de 2015 a las 7:32
¿Seguiría siendo una solución del lado del cliente? Solo puedo mostrar los datos más nuevos sin ningún problema, pero me gustaría que la base de datos elimine automáticamente todo lo que tenga más de dos horas en lugar de tener que ejecutar manualmente un script de vez en cuando.
– carterw485
14 de agosto de 2015 a las 7:47
bien, entonces usa
remove()
método, que elimina todos los datos de la ubicación de firebase. controlar esta– Gaurav bhavsar
14 de agosto de 2015 a las 8:02
Vi que ahora hay funciones programadas en Firebase: firebase.google.com/docs/functions/schedule-functions
– Zeus
28 de mayo de 2020 a las 18:04