在我当前的数据库设计中,我想读写聊天集合的消息子集合,但是我想确保聊天ID是否存在。聊天ID的格式为user1refID_user2refID
。如果不存在聊天ID,我想创建一个新的ID,并触发云功能,以使用从refID
到UserID
的映射为聊天文档的成员1和成员2字段分配UID。在我的安全规则中,我正在检查传入的用户ID是否等于成员1 uid或成员2 uid(如果该文档已存在),但是如何确保安全规则不会第一次失败。简而言之,我想检查文档ID是否存在,但是在创建文档之后也不允许读取/写入访问。这有可能吗?
答案 0 :(得分:0)
不可能。 Firestore不提供任何存在性检查。您必须阅读该文档才能知道它是否存在。您可能希望在另一个集合中有一个空文档,该文档具有相同的ID,但可以通过阅读来检查其存在性,而使用不同的安全规则。