![](/img/trans.png)
[英]Can I retrieve documents of same subcollection in different collections with the same name, using 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.