JS / Node.js解决方案:
如何使用Firestore的rules.duration和/或rules.timestamp或其他Firestore规则来确保每天都可以创建文档?
换句话说,用户每天最多只创建一次评论/备注/推特?那么,如何使用Firestore安全规则来执行呢?
例如,周一(2018年12月24日)我可以写一条新的评论。周二(2018年12月25日)我可以写另一个新的评论。但是如果我在周二(2018年12月25日)写第二篇新评论的话,它是不允许的。
该解决方案应该能够每天、每周、每月或每季度工作。
发布于 2018-12-19 03:24:57
除了某些访问发生的当前时刻和其他文档中的其他时间戳外,安全规则没有时间感。因此,您必须在其他文档中使用时间戳来访问。
我唯一能想到的实现这一目标的方法是结合云功能。每个用户可以有一个文档作为新的post数据的写入位置。该文档的规则将检查用户是否正在做两件事:
当写入成功时,云函数可以在写入时触发,然后将该文档中其他字段中的post数据复制到post必须驻留的最终文档中。
或者,您可以简化一些事情,跳过安全规则,只需要一个Cloud函数,通过从用户那里查询最近的两篇文章,并检查它们的时间戳,删除不满足您的后频规则的传入文档。
https://stackoverflow.com/questions/53843729
复制相似问题