我想自动从Fire-base数据库表中删除超过5分钟的数据。是否可以选择在fire-base中配置它。
所有这些天我都会从应用程序中触发它,但这并不准确,因为没有多少人使用我的应用程序,并且使用它的2个用户之间的时间间隔可能超过5分钟间隔所以我有数据不会一致。
答案 0 :(得分:1)
不幸的是,Firebase没有办法安排任务。除非您拥有自己的允许cron作业的服务器或托管,否则您将不得不使用App Engine或Compute Engine。您可以在任何一个中安排cron作业来为您执行任务。 Firebase博客实际上有一篇关于如何执行此操作的精彩文章:How to Schedule (Cron) Jobs with Cloud Functions for Firebase
它的基本要点是,在具有访问Firebase数据库权限的服务器上设置计划任务。让任务执行您在应用中使用的清理代码。
如果您确实使用App Engine或Compute Engine,请注意实例费用。但是,它们提供的免费套餐足以满足小型工作需求。我查了一下。
答案 1 :(得分:0)
首先,您可以添加一个列,用于存储每次数据插入期间的时间。 然后将每个数据时间与当前时间进行比较。如果当前时间大于 5 分钟,则通过子键调用删除函数可以从表中删除该特定数据。 I want to delete top first row from table in firebase Database
$searchdata = "Data";
$fetchdata = $database->getReference($searchdata)->getValue();
$found = 0;
$array=0;
if($fetchdata > 0)
{
foreach($fetchdata as $Key => $row)
{
$t=time() - $row["Time"];
if($t <= 250)
{
$del = "Data/".$Key;
$DelRef = $database->getReference($del)->remove();
$found++;
}
}
}