Firestore не извлекает полные значения данных

#android #firebase #google-cloud-firestore

#Android #firebase #google-облако-firestore

Вопрос:

На рисунке 1 показана иерархия моей базы данных.

Я пытаюсь получить названия курсов [Android, брендинг …. ]. Данные, выделенные курсивом (брендинг, другие), добавляются командами backend — post, а другие данные добавляются при вводе. При извлечении извлекаются только данные, не выделенные курсивом, как показано на скриншоте 2. Я не могу понять, почему это может происходить. На скриншоте 2 также показан запрос, который я использую для того же. Пожалуйста, помогите!!

Спасибо. Скриншот Firebase

введите описание изображения здесь

Комментарии:

1. Пожалуйста, не публикуйте скриншоты вашего кода или другого текстового содержимого. Вместо этого опубликуйте фактический текст и используйте инструменты форматирования Stack Overflow для его разметки.

Ответ №1:

При извлечении извлекаются только данные, не выделенные курсивом, как показано на скриншоте 2

Идентификаторы документов, выделенные курсивом, означают, что на самом деле документа на его месте нет; однако есть вложенные коллекции с документами, организованными под ними. Запрос Firestore возвращает только непустые документы.

У вас есть два варианта,

  • Если вы уверены в своих идентификаторах документов, вы можете напрямую получить доступ к коллекции
 firestore.collection('users/groups/groupID/courses/others/courses').get()
 
  • Использование collectionGroup запросов; но, похоже, у вас много коллекций с одинаковым идентификатором courses , поэтому он может восстановить все и может вам не подойти! Я рекомендую вам прочитать документ firabase для его ограничений
 firestore.collectionGroup('courses').get()