我想在一定时间内将 Firebase 数据库上的值设置为 True。



我不知道如何更改Firebase数据库的值,然后在一定时间(30分钟(后将其更改回,在服务器端完成所有操作,而不是在实际设备日期之前。

我想我需要Firebase函数。

如果我做不到,有没有其他方法可以保持Firebase作为主数据库?

我真的不需要任何代码,只需要它背后的逻辑。

我会质疑您的数据模型。您可能需要考虑使用时间戳,而不是使用布尔值。

例如,如果您的数据模型当前为以下类型:

Permissions
- user_id
- is_allowed (boolean)

你可能想用这个代替:

Permissions
- user_id
- allow_until (timestamp)

然后,应用程序代码可以检查当前时间是否早于allow_until时间戳。

Firebase实时数据库中没有逻辑可以在一定时间后自动更改值。您通常会在云功能或客户端设备中的应用程序中运行此类代码。

在这两种情况下,您都可以继续使用Firebase实时数据库,因为您只需要与之交互。在云功能中,您将通过管理SDK来实现这一点。

这是几个步骤:

  1. 创建一个云函数,该函数查询数据库以查找过期项目,并更改这些项目的值。这段代码使用Node.js的Admin SDK,但与您在web客户端中运行的代码非常相似。

  2. 将该Cloud函数绑定到每分钟左右运行一次的cron作业(取决于您希望超时的准确性(。有关某些选项,请参阅Firebase触发器的云函数?

我建议你也看看这些类似的问题:

  • 删除超过2小时的firebase数据
  • 如何删除firebase数据后";n〃;天(从Android客户端执行相同操作(
  • 如何清除firebase实时数据库中的旧内容

相关内容

  • 没有找到相关文章

最新更新