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 11A 12A 13 等不存在,因此不会显示在您的查询中。

让我试着解释一下这里发生了什么。您在此 collection knolles/A 11/liste 下创建了 4 个文档。所以 A 11 不是文档。它从未被创建。相反,路径 knolles/A 11/liste 包含一些文档。

发生这种情况是因为在 Cloud Firestore 中,可以在任何路径下创建文档,并且该路径可以是虚拟的。换句话说,可以在任何路径下创建文档,而不管该路径下是否存在文档或collection。

如果您希望它们显示在您的查询中,您可以在 knolles/A 11 路径下创建文档。

但就我个人而言,当我遇到这种情况时,我通常知道 collection 的完整路径(例如 knolls/A 11/liste),所以我直接获取它们。