Как получить доступ к виртуальным документам в Firestore через Firebase SDK?

#firebase #google-cloud-firestore

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

Вопрос:

Я новичок, и в моей базе данных firestore есть коллекция, в которой есть документы, и у каждого документа есть вложенная коллекция без каких-либо других полей. Я не могу найти способ получить доступ к идентификатору пустого документа и получить вложенную коллекцию, связанную с документом, с помощью SDK. Я мог бы сделать это на консоли, но у меня слишком много дел, и я пока не могу вносить изменения в свое приложение, поэтому мне нужно использовать SDK. Пожалуйста, предложите мне какой-нибудь способ получить к ним доступ, например, к консоли.

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

1. Можете ли вы показать изображение вашей базы данных / консоли Firestore и указать, о каких именно документах и коллекциях вы говорите?

Ответ №1:

Если вы знаете, как CollectionReference из вложенной коллекции, вы можете легко получить родительский DocumentReference элемент со parent свойством CollectionReference . Из DocumentReference вам просто нужно использовать id свойство.

Вы не поделились подробностями о своей модели данных, поэтому сложно дать дополнительные рекомендации о том, как найти CollectionReference . В ответе Марка представлены некоторые возможные подходы.

Ответ №2:

Итак, я использовал запрос группы коллекций ( collectionGroup ) для запроса документов в вложенных коллекциях (которые имеют одинаковые id имена) и нашел идентификаторы родительского документа по parent свойству. Огромное спасибо @mark carlton и @Renaud Tarnec за эти предложения.

Ответ №3:

ПРИМЕР 1. Если запросы к вложенным коллекциям запрашиваются в нескольких документах, вы можете использовать запрос группы коллекций, который запрашивает коллекции с одинаковыми именами независимо от их положения в иерархии. Таким образом, вам на самом деле не нужно знать идентификатор документа СЛУЧАЙ 2: используйте идентификатор документа, который вы запомните для такого случая, в отличие от UID для идентификатора. Это были ваши запросы, которые имеют для вас гораздо больше смысла