Прослушайте два точных (но независимых) поля в конкретном документе Firestore с помощью Flutter - PullRequest
0 голосов
/ 30 марта 2019

В моем приложении чата, когда пользователя забанят, я хочу выкинуть его из чата. Более того, у меня есть закрепленное сообщение (которое не имеет отношения к бану пользователей), которое отображается в окне чата (через стек). Теперь я хочу подключиться к Firestore к определенному документу группы и постоянно наблюдать, если пользователь забанен (это стоит большой полосы пропускания. Более того, я хочу обновить закрепленное сообщение о состоянии. Обе информации находятся в одном документе в поля (admin -> список всех забаненных пользователей и pinnedMessage).

Обратите внимание, что я использую Firestore и Realtime Database (Realtime Database исключительно для сохранения сообщений чата и токенов для FCM), Firestore для остальных (данные группы / пользователя и т. Д.). Я также знаком с Streambuilder и Futurebuilder, которые, как мне кажется, здесь не подходят?

Я тоже хочу сохранить ресурсы ...

1 Ответ

0 голосов
/ 30 марта 2019

Когда вы читаете или слушаете документ в Firestore, вы всегда читаете все содержимое документа.В отличие от базы данных реального времени, вы не можете выбрать прослушивание или чтение определенного поля в документе с мобильного клиента.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...