如何根据文档ID的子字符串查询Firestore?

时间:2020-05-24 04:58:13

标签: google-cloud-firestore

我的文档格式如下

uid_112 uid_232 uid_433 mid_232 kid_221

我想从uid

检索所有文档ID为doc的文档

像uid *

ann将获得以下文件的结果

firestore.instance.collection(“ col”)。where(doc_val,“ isMasterString”,“ uid”)

2 个答案:

答案 0 :(得分:1)

我相信这在Firestore中是不可能的。也许您应该更改实现。首先,我建议在文档ID中使用firestore自动ID,并将uid列表存储在文档的array字段中。

请参阅此结构

someCollection
    ATPawqV3XXehZn4W38fPPTXJ8 (document auto id)
         userIds (array field)
             0: uid_112
             1: uid_113 

然后在您的查询中,您可以执行此操作。

//in kotlin
someCollection.whereArrayContains("userIds", "uid_112")

答案 1 :(得分:1)

Firestore中没有用于文档ID的真正通配符查询。实际上,将数据放入文档ID中并不是一个好主意。可查询的数据应放在文档的字段中。

您应该在文档中的某个字段中做什么,以帮助您进行所需的查询。如果您有三种不同类型的文档“ uid”,“ kid”,“ mid”,则应该使用该字符串作为文档中字段的值。如果该字段称为“类型”:

firestore
    .collection("col")
    .where("type" "==", "uid")