Firebase 限制特定用户从收集中获取数据的频率

Firebase 限制特定用户从收集中获取数据的频率,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我有一组用户名映射到它们的角色ID。应用程序允许用户按用户名搜索,当提交用户名时,我从firestore获取文档并检查它是否存在 目前,用户查询用户名的速度没有限制。理想情况下,我希望允许每个用户每2秒查询一次此集合 我能够找到这个答案,但如果我正确理解了安全规则,这个示例会对集合施加“全局”延迟,即如果1号用户查询用户名,2号用户在5秒内无法查询。这对于我的用例来说并不理想,因为我希望这个规则是针对每个用户而不是全局的 这是否可以通过安全规则实现?您提供的链接描述了写入速率限制,包括全局速率限

我有一组用户名映射到它们的角色ID。应用程序允许用户按用户名搜索,当提交用户名时,我从firestore获取文档并检查它是否存在

目前,用户查询用户名的速度没有限制。理想情况下,我希望允许每个用户每2秒查询一次此集合

我能够找到这个答案,但如果我正确理解了安全规则,这个示例会对集合施加“全局”延迟,即如果1号用户查询用户名,2号用户在5秒内无法查询。这对于我的用例来说并不理想,因为我希望这个规则是针对每个用户而不是全局的


这是否可以通过安全规则实现?

您提供的链接描述了写入速率限制,包括全局速率限制和每个用户速率限制(请参阅“最后一个示例是每个用户写入速率限制”一节)

在Firestore安全规则中无法实现读取速率限制。如果这对你的应用程序来说是一个硬性要求,那么最常见的方法就是让所有读取操作都通过云函数,在云函数中你可以强制执行该限制