您可以制定运行查询以检查是否找到匹配文档的安全规则吗?
我正在构建一个系统,登录的用户可以对特定主题进行投票。
每次投票都将保存在自己的文档中,并带有对用户,主题等的引用。
我想制定一个安全规则,检查投票部分中是否已经存在包含该特定用户ID和主题ID的文档,并且仅允许用户编写一个投票文档(事实并非如此)。
我在文档中看不到任何查询选项,那么我有哪些选择?
我可以以某种方式创建所有投票的索引,并在该索引中查找特定的文档路径吗?
还是应该根据用户ID和主题ID为投票提供一个自定义ID方案,以便可以找到它们?
最佳答案
您不能在具有安全规则的条件下执行查询。您所能做的就是使用已知路径对文档进行get()
。也就是说,您必须知道其唯一标识的所有集合和文档ID。
听起来创建其他文档(它们不必包含任何数据)可能是可行的,并且它们的存在可以表明您想要保护的条件。
(是的,有时数据建模必须考虑安全规则。)
关于google-cloud-firestore - Firestore安全规则-我可以查询具有特定字段的文档吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56136614/