【问题标题】:Firebase, how to limit retrive requests from a specific Dataset (Realtime-Database)Firebase,如何限制来自特定数据集的检索请求(实时数据库)
【发布时间】:2020-04-26 06:23:23
【问题描述】:

我正在寻找一种在特定数据集被检索 x 次时触发操作的方法。不幸的是,firebase 的云函数没有像 onRetrive() 这样的触发器。

例如,我的 Firebase 实时数据库如下所示:

  • 根数据库
    • info001
      • 限制:“35”
      • message:“一条消息,可以检索 35 次”
    • info002
      • 限制:“10”
      • message: "另一条消息,可以检索 10 次"

达到限制后,我想删除(或将数据集移动到另一个路径)。

有人对如何解决这个问题有建议吗?

【问题讨论】:

  • “不幸的是,firebase 的云函数没有像 onRetrive() 这样的触发器。” -> 如果您准备好使用 Cloud Functions,您可以使用它们来读取实时数据库中的数据(并通过安全规则阻止来自客户端 SDK 的读取访问)。然后很容易为每个节点维护一个计数器并在达到限制时触发所需的操作。在决定采用这种方法之前,请务必阅读 Doug Stevenson 的 article

标签: firebase firebase-realtime-database google-cloud-functions


【解决方案1】:

确定是否从数据库中读取了某些内容的唯一方法是强制客户端通过您控制的后端。后端将记录数据库读取,然后从那里采取进一步的行动。为此,您可以通过实现可从客户端调用的 HTTP 或可调用函数来使用 Cloud Functions。

【讨论】:

    猜你喜欢
    • 2020-10-25
    • 2021-08-22
    • 2019-02-04
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2017-04-04
    相关资源
    最近更新 更多