当前位置: 首页 > 知识库问答 >
问题:

使用Firebase过期URL

拓拔弘亮
2023-03-14

有人如何创建指向Firebase数据的临时URL,但数据(和URL)会在特定时间后即5分钟或15分钟后被销毁?

共有1个答案

张献
2023-03-14

根据数据的存储方式,有几种不同的选择可以按时间戳删除数据。

假设数据是未排序的,并且您已经将时间戳存储为每个记录中的一个字段,那么您可以简单地从第一条记录开始读取并删除它们,直到找到您想要保留的一条:

<script>
var FB = new Firebase(YOUR_URL);
var childRef = FB.child( TABLE_WITH_RECORDS_TO_DELETE );
var oneWeekAgo = new Date().getTime()-1000*60*60*24*7; // one week ago

var fx = function(snapshot) { // keep a ref to this so we can call off later
   var v = snapshot.val();
   if( v.expires_on_date < oneWeekAgo ) {
      // delete the record
      snapshot.ref().remove();
   }
   else {
      // we found the first keeper, so we are done
      childRef.off('child_added', fx);
   }
}

// fetched records and test to see how old they are
childRef.on('childAdded', fx);
</script>

如果数据是按时间戳排序的,您可以按照如下方式检索和删除它们:

var FB = new Firebase(YOUR_URL);
var childRef = FB.child( TABLE_WITH_RECORDS_TO_DELETE );
var oneWeekAgoMinusOne = new Date().getTime()-1000*60*60*24*7-1; // one week ago

// fetched using endAt, so only retrieving older than 1 week
childRef.endAt( oneWeekAgoMinusOne ).on('childAdded', function(snapshot) {
    // delete the record
   snapshot.ref().remove();
});
 类似资料:
  • 简短的一般性问题:是否有一个侦听器(无论是firebase realtime、函数还是一般的侦听器)可以设置存储在firebase realtime对象中的日期,并在该日期到期时删除该对象? 长的具体问题:我正在与firebase实时数据库和firebase功能建立一个市场应用程序,用户可以对产品进行投标,但这些投标将在应用程序中存储的日期到期。用户也可以通过最高或最低的出价搜索/过滤产品,我正在

  • 问题内容: 我想知道您的想法: 在会话期间,我必须获得与系统的所有连接。为了使这一过程自动化,我决定使用current_date%,因为current_date不是字符串,而是一个函数,因此该方法不起作用。 所以我的问题是,是否有人可以帮助我进行查询以获取当日所有连接的数量。 提前致谢! 我糟糕的代码: 问题答案: 最好的方法(从性能的角度来看)是使用如下逻辑: 并非所有数据库都支持日期的ISO

  • 我跟随这本指南,与绝地武士一起收听Redis密钥过期通知。但我不知道如何获取其过期值。 是否有方法获取过期密钥的值? 请帮忙。非常感谢。

  • 下面是我用来访问过去10天前的日期的代码。输出为'20130103',即今天的日期。我如何返回今天的日期-10天?我被限制使用内置的java日期类,所以不能使用joda时间。

  • 我正在构建一个 Firebase 应用,并且刚刚实施了电子邮件验证流程。但是,我认为如果验证电子邮件不会过期,这可能是一个问题。这样,用户只需使用随机电子邮件地址注册而不对其进行验证,这意味着具有该电子邮件地址的真实人员无法再注册(firebase.auth().createUserWithEmailAndPassword将仅在“身份验证”选项卡中创建此用户,并且该电子邮件地址无法再使用)。有没有

  • 我正在尝试使用Postman通过云消息服务发送一次推送通知。 这是一个用于相同目的的工作命令,我将其用作参考。 到目前为止我所做的。。 1-适当设置标题 2-在Body,我使用 执行时,我返回