Биллинг Firestore для Слушателя Коллекции - PullRequest
0 голосов
/ 22 февраля 2020

Я хочу добавить слушателя в мою коллекцию, чтобы вызвать функцию "getNewChats ()" всякий раз, когда документ добавляется в коллекцию.

У меня есть следующий слушатель в моем initState:

 CollectionReference reference = Firestore.instance.collection('chats');

  @override
  void initState() {
    super.initState();
    getChats();

    reference.snapshots().listen((querySnapshot) {
      querySnapshot.documentChanges.forEach((change) {
        getNewChats();
      });
    });

Мой вопрос заключается в том, буду ли я платить за чтение каждого документа в коллекции "чатов" при каждом запуске состояния init или будет ли взиматься плата только при изменении коллекции, например при добавлении документа?

Если так, есть ли способ прослушать только последний добавленный документ, поэтому я не читаю все?

1 Ответ

0 голосов
/ 22 февраля 2020

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

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

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