繁体   English   中英

我可以在 Cloud Firestore 的子集合中查询和检索文档的字段值吗?

[英]Can I query and retrieve Documents' field values in Subcollection in Cloud Firestore?

我可以在子集合中查询和检索文档的字段值吗?

以以下为例:

States [Collection]
    State 1 [Document]
        Counties [Collection]
           County 1 [Document]
               British Population = 100 [Field]

           County 2 [Document]
               British Population = 200 [Field]

    State 2 [Document]
        Counties [Collection]

           County 1 [Document]
               British Population = 150 [Field]

如何查询具有英国人口的文档并检索population

由于Counties子集合的名称在所有State文档中都相同,因此要获取“British Population”属性的值,需要Firestore 集合组查询 但是,除非您的Country文档下有另一个属性可以帮助您创建该查询,否则这将不起作用。 在代码中,应该如下所示:

db.collectionGroup("Counties").whereEqualTo("nationality", "British").get()
        .addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
            @Override
            public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
                // ...
            }
        });

这是这样翻译的。 嘿 Firestore,给我所有Countries collections 或“国籍”为“英国”的子集合中存在的所有Country文件。 如您所见,我添加了一个名为nationality的新属性,并将相应的值添加为“British”。 由于所有文档都包含此类属性,因此将返回所有文档。

除此之外,“英国人口”属性也可以更改为“人口”。 现在,在onSuccess()中,您可以查询QuerySnapshot object 并获取population属性的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM