Firestore - как слушать изменения в реальном времени, игнорируя записи, которые уже существуют? - PullRequest
0 голосов
/ 27 февраля 2019

Когда я пытаюсь использовать следующий код, приведенный в документации по firebase

doc_ref = db.collection(u'users')

def on_snapshot(doc_snapshot, changes, read_time):
    for change in changes:
        print(u'new doc:{}'.format(change.document.id))

doc_watch = doc_ref.on_snapshot(on_snapshot)

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

Пример: если в моей коллекции пользователей было 3 документа: user1, user2и user3 уже.Я запускаю свою программу и добавляю другой документ - user4.Моя программа для печати user4, а не user1, user2 или user3.

1 Ответ

0 голосов
/ 27 февраля 2019

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

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