问题描述
我的Firestore数据库中具有以下结构:几个 UserLists
集合,其中包含 Users
.每个用户可能都有一个 Notes
子集合.
I have the following structure in my Firestore DB: several UserLists
collections, which hold the Users
. Each user may have a Notes
subcollection.
我正在做一个效果很好的子集合组查询,从整个Notes子集合中返回笔记.
I'm doing a subcollection group query that works well, returning notes from across the Notes subcollection.
我的问题是,从Notes子集合中检索到的Notes文档中,我可以获得父文档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
推荐答案
您可以使用以下方法之一:
You could use one of the following approaches:
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
.
On each QueryDocumentSnapshot
, you can use the ref
property, which returns a DocumentReference
. Then, on this DocumentReference
you use the path
property, which will return the full path, e.g. UserList1/User1/Notes/Doc1
.
或者您使用 parent
DocumentReference 的> 属性,该属性返回 CollectionReference
,然后再次使用 parent
属性(这次是 CollectionReference
的属性),以获取父 DocumentReference
,然后此父 DocumentReference
的 id
属性.
Or you use the parent
property of the DocumentReference
, which returns a CollectionReference
, then you use again the parent
property (of the CollectionReference
this time) to get the parent DocumentReference
and then the id
property of this parent DocumentReference
.
这篇关于Firestore获取子集合父文档ID-JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!