Firestore获取子集合父文档ID - JavaScript

11

我在我的Firestore数据库中有以下结构:多个UserLists集合,其中包含Users。每个用户可能有一个Notes子集合。

我正在进行子集合组查询,它可以很好地工作,从Notes子集合返回笔记。

我的问题是,从从Notes子集合检索到的Note文档中,我能否获取父文档ID? 在下面的示例中,那将是User 1。使用JavaScript。

Collection: UserList 1
  Doc: User 1
    Subcollection: Notes
      Doc: Note 1

Collection: UserList 2
  Doc: User 1
    Subcollection: Notes
      Doc: Note 1
1个回答

16

您可以采用以下方法之一:

  const query = ......;
  query
    .then(function(querySnapshot) {
      querySnapshot.forEach(function(doc) {
        console.log(doc.ref.path);
        console.log(doc.ref.parent.parent.id);
      });
    })

每个QueryDocumentSnapshot都有一个ref属性,它返回一个DocumentReference。然后,你可以在这个DocumentReference上使用path属性,它将返回完整的路径,比如UserList1/User1/Notes/Doc1
或者你可以使用DocumentReferenceparent属性,它返回一个CollectionReference,然后再次使用parent属性(这次是CollectionReference的父级),以获取父级DocumentReference,接着获取此父级DocumentReferenceid属性。

1
非常感谢,我不确定我在文档中是如何错过这个的。正是我所寻找的! - Ashton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接