首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Firestore的rules.duration和rules.timestamp保护数据?

如何使用Firestore的rules.duration和rules.timestamp保护数据?
EN

Stack Overflow用户
提问于 2018-12-19 02:26:08
回答 1查看 141关注 0票数 0

JS / Node.js解决方案:

如何使用Firestore的rules.duration和/或rules.timestamp或其他Firestore规则来确保每天都可以创建文档?

换句话说,用户每天最多只创建一次评论/备注/推特?那么,如何使用Firestore安全规则来执行呢?

例如,周一(2018年12月24日)我可以写一条新的评论。周二(2018年12月25日)我可以写另一个新的评论。但是如果我在周二(2018年12月25日)写第二篇新评论的话,它是不允许的。

该解决方案应该能够每天、每周、每月或每季度工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 03:24:57

除了某些访问发生的当前时刻和其他文档中的其他时间戳外,安全规则没有时间感。因此,您必须在其他文档中使用时间戳来访问。

我唯一能想到的实现这一目标的方法是结合云功能。每个用户可以有一个文档作为新的post数据的写入位置。该文档的规则将检查用户是否正在做两件事:

  1. 将当前时间(servervalue时间戳)写入已知字段。
  2. 自上次写入该字段以来,当前时间也不少于允许的时间。

当写入成功时,云函数可以在写入时触发,然后将该文档中其他字段中的post数据复制到post必须驻留的最终文档中。

或者,您可以简化一些事情,跳过安全规则,只需要一个Cloud函数,通过从用户那里查询最近的两篇文章,并检查它们的时间戳,删除不满足您的后频规则的传入文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53843729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档