Firestore: цены за подключение к Firestore

Как вы выполняете дешевые соединения с Firestore?

В Firebase я бы ответил .map() и получил дополнительные данные на основе внешнего ключа, хранящегося на каждом элементе. Однако, учитывая модель ценообразования Firestore, где вы платите за чтение, это выглядит слишком дорого. Как вы думаете?

В моем случае мои отношения - это много действий для нескольких категорий (около 5 - 7). Каждое действие относится к одной категории.

Какая была бы лучшая практика для этого случая? Должен ли я продолжать делать это, как в Firebase? Или я должен получить обе коллекции самостоятельно и присоединиться к ним в Javascript?

Якуб

PS Как вы на самом деле работаете со ссылочным типом данных? К сожалению, это не описано в документации.

Ответ 1

Cloud Firestore, как вы заметили, взимает плату за каждый прочитанный документ. Это зависит от количества документов, возвращаемых вам при выполнении запроса. Неважно, сколько индивидуальных запросов вы делаете для получения документов (при условии, что каждый запрос возвращает >= 1 документ). Таким образом, вам будет дешевле использовать метод map(), чем получать все документы и присоединяться к ним в памяти, так как вы будете читать меньше документов из бэкэнд.

Если вы сообщаете больше о своей модели данных (я не могу представить ее в своей голове), может быть способ уменьшить необходимость объединения, дублируя некоторые данные или используя запросы.