【发布时间】:2020-07-14 23:58:55
【问题描述】:
我希望使用 Flutter + Firestore 构建一个简单的聊天应用,将用户和聊天存储在单独的集合中。每个聊天文档都有两个字符串字段 [uid1, uid2] 代表各个参与者的用户 ID。我需要能够搜索给定用户 (uid) 的所有聊天,因此可以通过将它们存储在数组字段中并使用 array_contains 来进行某种类型的 OR 查询。
但是,要更新聊天文档,我需要能够直接查询两个字段以检索两个用户之间的特定聊天,而使用数组方法是不可能的(不允许嵌套 array_contains)。即使将两者都存储为两个顶级字符串字段,也需要针对任一方向进行两次 Firestore 查询。
对于如何解决 Firestore 查询限制的任何建议?
【问题讨论】:
标签: database firebase flutter dart google-cloud-firestore