Python 在 Firebase Firestore 中列出带有子文档的 ID
Python list id with subdocuments in Firebase Firestore
try:
self.groupList = self.db.collection(u'kholles').stream()
self.groupList = [str(group.id) for group in self.groupList]
return self.groupList
except:
return []
我有问题,我想从第二行检索所有文档 ID:[A11, A12, ..., E22] 但我必须使用子文档,这似乎不起作用(我认为这是因为文档值不是数据而是集合)。
此代码 returns 一个空数组 [] 而不是返回 [A11, A12, ..., E22]。
文档 A 11
、A 12
、A 13
等不存在,因此不会显示在您的查询中。
让我试着解释一下这里发生了什么。您在此 collection knolles/A 11/liste
下创建了 4 个文档。所以 A 11
不是文档。它从未被创建。相反,路径 knolles/A 11/liste
包含一些文档。
发生这种情况是因为在 Cloud Firestore 中,可以在任何路径下创建文档,并且该路径可以是虚拟的。换句话说,可以在任何路径下创建文档,而不管该路径下是否存在文档或collection。
如果您希望它们显示在您的查询中,您可以在 knolles/A 11
路径下创建文档。
但就我个人而言,当我遇到这种情况时,我通常知道 collection 的完整路径(例如 knolls/A 11/liste
),所以我直接获取它们。
try:
self.groupList = self.db.collection(u'kholles').stream()
self.groupList = [str(group.id) for group in self.groupList]
return self.groupList
except:
return []
我有问题,我想从第二行检索所有文档 ID:[A11, A12, ..., E22] 但我必须使用子文档,这似乎不起作用(我认为这是因为文档值不是数据而是集合)。
此代码 returns 一个空数组 [] 而不是返回 [A11, A12, ..., E22]。
文档 A 11
、A 12
、A 13
等不存在,因此不会显示在您的查询中。
让我试着解释一下这里发生了什么。您在此 collection knolles/A 11/liste
下创建了 4 个文档。所以 A 11
不是文档。它从未被创建。相反,路径 knolles/A 11/liste
包含一些文档。
发生这种情况是因为在 Cloud Firestore 中,可以在任何路径下创建文档,并且该路径可以是虚拟的。换句话说,可以在任何路径下创建文档,而不管该路径下是否存在文档或collection。
如果您希望它们显示在您的查询中,您可以在 knolles/A 11
路径下创建文档。
但就我个人而言,当我遇到这种情况时,我通常知道 collection 的完整路径(例如 knolls/A 11/liste
),所以我直接获取它们。