使用 Firebase 使 URL 过期

2023-12-27

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


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

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

<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();
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Firebase 使 URL 过期 的相关文章

随机推荐

  • java.sql.SQLException:用户“root”@“localhost”的访问被拒绝(使用密码:YES)Spring boot

    我针对这个问题进行了很多搜索 但没有找到适合我的好的解决方案 我的数据库名称 employee management system 我的应用程序属性 spring datasource url jdbc mysql localhost 33
  • 如何在 ruby​​ 中进行命名捕获

    我想命名从扫描中捕获的字符串 怎么做 555 333 7777 scan d 3 d 3 d 4 flatten gt 555 333 7777 可以改成这样吗 area gt 555 city gt 333 local gt 7777 o
  • SSRS 2008 日期格式化和导出到 Excel 混乱

    假设我在 Reporting Services 模板中有一个带有日期值的字段 例如 CDate 2010 12 03 我将 d 格式应用于此单元格 根据描述 该格式 将反映报告的区域设置 我使用英语生成报告 日期显示为12 03 2010
  • Python 计划未按计划运行

    我使用下面的代码每 5 分钟执行一次 python 脚本 但是当它下次执行时 它不会像以前那样在精确的时间执行 例如 如果我在上午 9 00 00 准确执行它 则下次它在上午 9 05 25 执行 下次在上午 9 10 45 执行 由于我每
  • React Router 中的 match.url 到底是什么?

    我在 React Router 文档中看到您传递到组件中match道具 你可以打电话match url 但您似乎从未真正将任何内容传递给组件 那么 match 到底是什么 你从哪里得到它 希望这可以帮助 https reacttrainin
  • 如何在 vaadin 中设置网格单元格样式

    我创建了一个带有一列的简单网格 public MyGrid addComponentColumn this getIcon setClassNameGenerator i gt icon img setItems some items se
  • Python文件IO“w”与“wb”[重复]

    这个问题在这里已经有答案了 想知道从 Python 编写文件时真正的区别是什么 从我可以看到如果我使用w or wb我用文本得到了相同的结果 我认为保存为二进制文件只会在十六进制编辑器中显示二进制值 但它也会显示文本 然后显示该文本的 AS
  • python:为什么替换不起作用?

    我编写了一个快速脚本 从保存在 Excel 列中的网站地址列表中删除 http 子字符串 但替换功能不起作用 我不明白为什么 from openpyxl import load workbook def rem string print s
  • JavaScript EventListener“pointerMove”:每秒点数

    我有一个添加了 pointerMove EventListener 的元素 现在 当移动鼠标时 我可以通过计算自 pointerDown 以来绘制的点总数并将其除以自 pointerDown 以来经过的时间来测量 pointerMove 每
  • 与 Jest 的全局 TypeORM 连接

    我在使用 PostgreSQL 与 TypeORM 和 Jest 时遇到一些问题 基本上 在每个测试文件中 我在测试运行之前打开数据库连接 并在所有测试运行后关闭它 但即使我关闭连接我收到sorry too many clients alr
  • Nginx proxy_pass 所有url参数

    我想代理这样的请求 http myproxy com api folder1 result1 test 1 http myproxy com api folder3447 something var one 前往同等目的地 http des
  • 从扩展获取登录 Visual Studio 用户的身份

    我正在开发一个 Visual Studio 2015 扩展 我希望获取登录 IDE 的用户的身份 与登录 Windows 或运行 devenv 的用户不同 我不知道从哪里 或是否 可以获得该信息 它似乎不在DTE https msdn mi
  • Javascript 数组是原始数组吗?字符串?物体?

    数组只是伪装的对象吗 为什么 为什么不呢 它们以什么方式 这样 不是 我一直认为 JS 中的数组和对象本质上是相同的 主要是因为访问它们是相同的 var obj I me var arr new Array arr you them con
  • 不确定为什么变量未定义。可能的范围问题?

    如果你看一下下面的函数 在第 11 行 它alert template 它打印undefined If I alert template 在ajax成功回调中 它打印没有问题 由于模板是在函数顶部定义的 因此这不应该在整个函数中是全局的吗
  • Windows 应用商店应用程序的日志记录框架

    我正在寻找将日志记录和检测构建到我的 Windows 应用商店应用程序中 对于 Windows 应用商店应用程序的良好日志记录框架有什么建议吗 我知道我可以通过写入文件或 Azure 存储来推出自己的产品 很好奇是否已经有任何东西 Go f
  • 从 Ruby 块中提取 AST

    是否有可能从 Ruby 本身获取一个块的 AST 我已经研究过 ParseTree 和 ruby parser 但它们似乎都对 Ruby 1 9 2 提供了粗略的支持 根据我读到的内容 我需要一些与 1 9 2 配合良好的东西 Ripper
  • 适用于 Windows 的 Zeromq PHP 扩展

    我正在使用配置了 IIS 7 5 的 Zend 服务器 我搜索了 edit Zeromq php 扩展 我找到了这些http valokuva org builds http valokuva org builds and http sna
  • 支持 Git 的开源 IDE [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我无法找到支持 Git 的开源 IDE 有什么可以给我指点或推荐的吗 有一个Eclipse 插件正在进行中 http www eclips
  • 什么是命名空间污染?

    命名空间污染 一词是什么意思 为什么将方法设为静态有助于防止它 这个问题 https stackoverflow com questions 8862665 what does it mean global namespace would
  • 使用 Firebase 使 URL 过期

    如何创建指向 Firebase 数据的临时 URL 但数据 和 URL 将在特定时间 即 5 分钟或 15 分钟 后被销毁 根据数据的存储方式 有几种不同的选项可用于按时间戳删除数据 假设数据未排序 并且您已将时间戳存储为每个记录中的字段