Когда вы прослушиваете изменения в Cloud Firestore для изменений в реальном времени, используя метод addSnapshotListener () запроса Firestore, это:
Начинает прослушивание этого запроса.
Это означает, что при первом подключении слушателя вы получаете все документы, соответствующие этому конкретному запросу. Кроме того, каждый раз, когда свойство в документе изменяется, вы получаете уведомление в соответствии с этим изменением. Очевидно, это происходит только в том случае, если слушатель остается активным и не удален.
К сожалению, слушатели Firestore не работают таким образом, поэтому вы не можете пропустить этот "case ADDED". Вместо этого вы можете добавить add под каждым объектом пользователя свойство Date
(, это , как вы можете добавить его) и запросить базу данных на клиенте, в соответствии с этим новое свойство для всех документов, которые изменились с предыдущего раза.
Согласно комментарию Ника Кардосо, для будущих посетителей, которые могут спросить, почему такое поведение происходит, это потому, что причина, о которой он упомянул в своем комментарии. Я также рекомендую посмотреть ответ Дуга Стивенсона из этого поста , для лучшего понимания.