我正在使用Firestore作为数据库的一个有角项目。在数据库中,我存储了一个名为uid的文档,该文档是uid的数组。如何查询它们。我进行了很多搜索,但所有建议都与firebase和不在Firestore中。
答案 0 :(得分:1)
更新2019年5月29日
您现在可以执行此操作。有一个array_contains查询: https://firebase.google.com/docs/firestore/query-data/queries#array-contains 您可以使用array_contains运算符基于数组值进行过滤。例如:
citiesRef.where("regions", "array-contains", "west_coast")
regions是一个字符串数组,上面的查询将仅返回该数组中具有“ west_cost”的文档。
===================
旧答案:
不幸的是你不能。从文档: https://firebase.google.com/docs/firestore/solutions/arrays
尽管Cloud Firestore可以存储阵列,但不支持 查询数组成员或更新单个数组元素。但是你 仍然可以通过利用其他功能来建模此类数据 Cloud Firestore。
您可以尝试按照文档中的建议制作值映射。在大多数情况下,这是可行的,除非您在单个文档中存储了超过1万个用户uid,而不是在firestore的某些限制下运行。
https://firebase.google.com/docs/firestore/quotas
每个文档的最大索引条目数
20,000
索引条目的数量是以下内容的总和 文件:
The number of single-field index entries The number of composite index entries
Cloud Firestore自动创建两个单字段索引条目 对于每个字段,一个在升序索引中,一个在降序索引中 索引。
考虑到20,000个限制,每个文档最多可以索引 10,000个字段减去文档的复合索引条目数。