【发布时间】:2020-09-12 12:39:48
【问题描述】:
我正在使用 google cloud firestore 作为 Flutter 应用程序的数据库。我的代码要求我向数据库发出一个包含 '.where("X", "in", "very-long-list")' 的请求。出现的问题是“in”运算符最多只能组合 10 个相等子句,而我的列表的长度可变,最终可能远大于 10。我正在寻找可能的解决方法。
示例语句:
citiesRef.where("state", "in", "[list-of-1000]");
编辑:为了提供额外的背景信息,我的项目是一个用户有朋友的社交媒体应用程序。数据库将被重组,使得用户文档有一个子集合“朋友”,其中包含他们的用户 ID。用户文档还有一个称为帖子的集合,其中引用了按时间顺序排列的帖子集合。在帖子集合中,每个帖子文档都有一个包含其 UID 的文档。要创建用户的提要,将使用 '.where["UID", "in", ["List-of_friend-UIDs"])' 引用和过滤帖子集合。如果您知道更好的结构,我非常愿意重组我的数据库。
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore