我正在开发一个使用具有以下层次结构的 firestore 数据库的应用程序: 父集合: 父文档: 子集: 子文件{ 字符串名称} 使用 collectionGroup 我已经能够查询具有特定名称的文档的子集合,但我不知道如何获取 parent_document
db.collectionGroup("subcollection").whereEqualTo("name", searchText).get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()){
//here I want to get the parent id of all results
}
}
});
实现该目标的最佳方法是什么?
最佳答案
QuerySnapshot
指向多个QueryDocumentSnapshot
实例。
从 QueryDocumentSnapshot
中,您可以通过以下方式获取它的集合:
snapshot.getRef().getParent()
然后父 DocumentReference
是:
snapshot.getRef().getParent().getParent()
所以要获取父文档的子集合:
snapshot.getRef().getParent().getParent().collection("name_of_subcollection")
是的,我同意...这本来可以更具可读性。 :)
关于android - Firestore - 获取子集合的父文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56219469/