Firestore, обнаружение нового документа, добавленного в коллекцию, и многое другое - PullRequest
0 голосов
/ 29 апреля 2019

Прослушивание изменений документов в документе Firestore довольно легко и хорошо работает.

Интересно, есть ли способ прослушать коллекцию таким образом, чтобы мы получали уведомление, когда документ принадлежит этомуколлекция добавлена ​​/ обновлена ​​/ удалена.

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

Мой вопрос связан не с каким-либо языком, а с информацией, которую я использую.

Обеспечивает ли экосистема Firestore способ достижения этой цели?Заранее спасибо.

1 Ответ

1 голос
/ 29 апреля 2019

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

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

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

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

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