Я думаю, что вы структурируете свои данные, как если бы вы работали в реляционной базе данных. Firestore - это не SQL база данных, в которой нет понятия ссылки, единственное, что понимает в Firestore - это значения ключей, документы и коллекции, все остальное мне нужно смоделировать поверх этого. См. Модель данных Firestore .
. В Firestore отношения обычно моделируются путем сохранения идентификатора документа, который вы хотите «ссылаться». В этом смысле вам может не понадобиться хранить документ «users» внутри «order», но поля «user_id» будет достаточно. Предостережение заключается в том, что эта компоновка данных имеет цену необходимости извлечения 'user_id' из заказов, прежде чем вы сможете получить фактические пользовательские данные. Вы можете прочитать больше о денормализации данных и моделировании отношений в статьях link1 , link2 и других thread .
Также стоит отметить, что Размер документов Firestore ограничен 1 МБ, поэтому с вашей фактической конфигурацией, если объем информации о «пользовательских» документах увеличивается, он может достичь точки, в которой потребуется изменить структуру ваших документов.
В целом , если вы не хотите изменять макет данных, вам нужно будет следовать рекомендациям Ked и сначала получить данные «пользователей», чтобы вставить их в поле «userInfo».