【问题标题】:how to use firebaes realtime database or firestore to make votes valid for only a certain time? [closed]如何使用 firebase 实时数据库或 firestore 使投票仅在特定时间内有效? [关闭]
【发布时间】:2019-11-01 21:07:44
【问题描述】:

我想知道发送投票的最佳方式是什么,例如投票的初始值为 0,有人在 20 分钟等特定时间后发送 +1(投票+=1),该投票将被撤消(投票-=1)。 firebase 中是否有一些功能可以做到这一点?因为即使用户没有使用 android 应用程序,我也希望撤消工作。我想过让设备始终连接到数据库并观察变化,但这看起来不太稳定。可以使用服务器吗?如果 firebase 不是最佳选择,我应该在线查找什么?

【问题讨论】:

  • 这真的很笼统,很难简洁地回答;至少不是因为您指出两个单独的数据库完全没问题。既然您在谈论服务器端验证,我将从研究服务器端安全规则开始。用它尝试一些东西,然后发布你尝试过的东西。这将使您更容易理解您要完成的工作,并增加有人可以提供帮助的机会。

标签: android firebase


【解决方案1】:

cloud functions on read/right/updates 到 Firestore 就在你的小巷里。我看到的最大问题是你会使用 setTimeout 20 分钟,你会收到很多账单。有类似问题的Another forum 建议每隔一段时间运行一次云功能以清除旧票。我建议在 upvote 上将日期推送到一个数组中,并使用长度作为总票数,并且每 10 分钟或任何运行一个函数来查看日期是否超过 20 分钟并相应地删除。

【讨论】:

  • 很遗憾,第一个建议不起作用,因为云功能的 maximum timeout 只需 9 分钟。确实,scheduled functions 并使用时间戳记录所有投票是一种可行的方法。
猜你喜欢
  • 2021-04-28
  • 2015-10-07
  • 2021-11-26
  • 2019-12-09
  • 2021-09-22
  • 2020-08-03
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
相关资源
最近更新 更多