Вам необходимо извлечь данные из «групп» collectionGroup - группы коллекций имеют для всех структур, и нет никакого способа квалифицировать коллекцию для «родителя».
То, что вы можете сделать, это добавить имя родителя как поле в документ карты, например, «languageField:» (безопасная операция, потому что она будет установлена c), затем используйте его как часть запроса:
// to fetch ALL cards
db.collectionGroup('card').get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
console.log(doc.id, ' => ', doc.data())
})
});
//to fetch SOME cards
db.collectionGroup('card').where(fieldRef:'languageField', opstr: '==', value: 'Spanish').get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
console.log(doc.id, ' => ', doc.data())
})
});
Кстати, do c .ref содержит поле refPath, которое является полным путем FROM THE ROOT, который вы можете Для определения указанной языковой коллекции c, в которую входила карта, выполните синтаксический анализ. Я использую Сильно структурированную базу данных и все время использую этот подход, включая поиск родителя (ей) через refPath.