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

Ash*_*ton 7 firebase google-cloud-firestore

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

我正在执行一个运行良好的子集合组查询,返回来自 Notes 子集合的注释。

我的问题是,从 Notes 子集合中检索到的 Note 文档,我可以获得父文档 ID 吗?这将是下面示例中的用户 1。使用 JavaScript。

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

Collection: UserList 2
  Doc: User 1
    Subcollection: Notes
      Doc: Note 1
Run Code Online (Sandbox Code Playgroud)

Ren*_*nec 11

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

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

在每个 上QueryDocumentSnapshot,您可以使用ref返回一个DocumentReference. 然后,在此DocumentReference您使用path属性,它将返回完整路径,例如UserList1/User1/Notes/Doc1.

或者您使用 的parent属性DocumentReference,它返回 a CollectionReference,然后您再次使用parentCollectionReference这次的)属性来获取父级DocumentReference,然后id是此父级的属性DocumentReference