try:
self.groupList = self.db.collection(u'kholles').stream()
self.groupList = [str(group.id) for group in self.groupList]
return self.groupList
except:
return []
У меня проблема, я хочу получить идентификатор всех документов из второй строки: [A11, A12, ..., E22], но мне нужно использовать вложенный документ, и это, похоже, не работает (я думаю, это потому, что значения документов не не данные, а коллекции).
Этот код возвращает пустой массив [] вместо возврата [A11, A12,..., E22].
Документы A 11
, A 12
, A 13
и т. д. не существуют и поэтому не будут отображаться в вашем запросе.
Позвольте мне попытаться объяснить, что здесь происходит. Вы создали 4 документа в этой коллекции knolles/A 11/liste
. Так что A 11
это не документ. Он никогда не был создан. Скорее путь knolles/A 11/liste
содержит некоторые документы.
Это происходит потому, что в Cloud Firestore можно создавать документы по любому пути, и этот путь может быть виртуальным. Другими словами, документы можно создавать по любому пути, независимо от того, существуют ли по этому пути документы или коллекции.
Если вы хотите, чтобы они отображались в вашем запросе, вы можете создавать документы по пути knolles/A 11
.
Но лично для меня, когда я нахожусь в такой ситуации, я обычно знаю полный путь к своим коллекциям (например, knolls/A 11/liste
), поэтому я просто получаю их напрямую.