我正在使用 firebase 实时数据库。
我正在尝试限制用户只允许他们在发布最新帖子后至少 15 分钟后发布(这是为了防止帖子看起来像聊天)。
我将如何实现这一目标?
我尝试过的是,包括每个帖子的时间戳,并在用户尝试发布新帖子时计算与当前时间的时差。这可行,但如果用户删除了之前的帖子,则用户将能够立即再次发布。所以我需要一种不同的方法。
我可以实现什么算法?
谢谢圣诞快乐!
最佳答案
我的做法是这样的。要求客户端应用程序进行多位置更新,同时写入帖子和时间戳。时间戳将按用户存储,也将存储在帖子中。您可以在包含检查以下所有内容的帖子的节点上编写安全规则,以便写入成功:
- 每个用户的时间戳只用 ServerValue.TIMESTAMP 指定
- 每个用户的时间戳至少比现有值晚 15 分钟(或者,如果不存在,则跳过此检查)
- 帖子自己的时间戳也被指定为具有相同的值
关于javascript - 如何限制用户在 firebase 实时数据库中每 15 分钟写一次帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53919488/