【问题标题】:Impelementing aging in a Firebase real time database在 Firebase 实时数据库中实现老化
【发布时间】:2016-11-28 00:16:45
【问题描述】:

很遗憾,Firebase 没有开箱即用的老化机制(自动删除旧条目)。所以,我正在尝试实现一个。但是,我在两个决定之间陷入了困境:

  1. 如果客户端获取旧条目,他将自动删除:I 认为这是我的上下文最简单的,但它看起来不是很 对我安全。
  2. 在服务器上实现一个小脚本/程序,它将 检查完整的数据库并删除旧条目。

我喜欢第一个解决方案,因为它不包括部署另一个服务器端应用程序,但我不知道它是否会带来风险。

你认为什么是最好的? 如何确保第一个解决方案的安全,以避免可能删除所有项目? 对于第二种解决方案,我不会从我的计算机上运行脚本,也不想支付另一台服务器来部署脚本,是否可以在 Firebase 上部署它?

【问题讨论】:

标签: android firebase firebase-realtime-database


【解决方案1】:

之前已经介绍过从客户端删除过时的项目。见:

要保护此操作以便仅删除过时的项目,您可以使用Firebase Database security rules。比如:

{
  "rules": {
    "messages": {
      "$message": {
        // only messages older than an hours can be remove
        ".write": "newData.exists() || data.child('timestamp').val() < (now - 3600000)",
      }
    }
  }
}

现在可以使用Cloud Functions for Firebase 在 Firebase 的服务器上运行您自己的代码。还有一个sample that shows how to delete older data with Cloud Functions

【讨论】:

    猜你喜欢
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 2020-07-05
    • 2021-07-01
    • 1970-01-01
    • 2020-11-10
    相关资源
    最近更新 更多