Зачем коллекциям Cloud Firestore нужен хотя бы один документ? - PullRequest
0 голосов
/ 05 мая 2020

При создании новой коллекции мне сказали, что мне нужно создать для нее исходный документ. Я нахожу это немного запутанным. Если я создаю коллекцию под названием «Сообщения» для коллекции, поддерживающей окно обмена мгновенными сообщениями, зачем мне помещать туда исходный документ (представляющий отдельное сообщение) до того, как пользователи его отправят?

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Если у вас нет документа для добавления, не добавляйте его.

Коллекцию вообще не нужно создавать на консоли. Они просто возникают, когда документ впервые появляется, и исчезают sh при удалении последнего документа. Их не нужно создавать и удалять, как папки в файловой системе. Просто прочтите и напишите их, предполагая, что они существуют. Если коллекция не существует, запрос к ней просто не вернет никаких документов.

0 голосов
/ 08 июня 2020

Полагаю, это природа зверя. Крис Эсплин говорит нам, что Firebase всегда следует шаблону «коллекция-документ-коллекция-документ». Firebase Docs определяет коллекции, говоря: «документы живут в коллекциях, которые являются просто контейнерами для документов». Они определяют свою модель данных Cloud Firestore как изначально не имеющую схемы, требующую уникальных имен документов. Предлагается подробнее обсудить иерархические данные: «Документы в Cloud Firestore должны быть легковесными ... создавать дополнительные коллекции внутри [документов] в виде вложенных коллекций ... Субколлекция - это коллекция, связанная с определенным документом c». Их пример обеспечивает коллекцию комнат чата, где каждая комната представляет собой документ с подколлекцией сообщений, где каждый ее документ представляет собой уникальный экземпляр документа сообщения размером 1 МБ или меньше. «Обратите внимание на чередующийся шаблон коллекций и документов. Ваши коллекции и документы всегда должны следовать этому шаблону. Вы не можете ссылаться на коллекцию в коллекции или документ в документе ... Вы можете вкладывать данные на глубину до 100 уровней». Выдается предупреждение о том, что удаление документа не приводит к удалению его вложенных коллекций. См. Ссылки ниже. Сэр Крис Эсплин находится на сайте fullstackfirebase.com.

https://firebase.google.com/docs/firestore/data-model#node. js https://firebase.google.com/docs/firestore/data-model#hierarchical -данные

...