Я знаю, что всякий раз, когда я включаю прослушиватель для QUERY , минимальный сбор составляет одно чтение, даже если этот запрос не возвращает документов (поскольку нет документов, которые соответствуют запросу, или даже если есть, но не было никаких изменений, так как в прошлый раз этот слушатель был включен).
Согласно документации :
Минимальная плата за запросы
За каждый выполняемый запрос взимается минимальная плата за чтение одного документа, даже если запрос не дал результатов.
Stream<QuerySnapshot> stream = Firestore().collection("someCollection").where("someField", isGreaterThan: 42).snapshots();
stream.listen((querySnapshot) => doSomething());
Кроме того, я знаю, что мне не нужно платить, если я использую простой get
для чтения какого-либо документа, если этот документ уже существует в автономном кэше,
и не был изменен в Firestore (в соответствии с Doug Stevenson ).
DocumentSnapshot doc = await Firestore().collection("someCollection").document("documentID").get();
Мой вопрос:
Предположим, что документ уже существует в моем автономном кэше и не изменялся в Firestore с тех пор.
Если вместо get
я включаю слушатель к этому единственному документу
(DocumentSnapshot
, а не QuerySnapshot
), вот так:
Stream<DocumentSnapshot> stream = Firestore().collection("someCollection").document("documentID").snapshots();
stream.listen((documentSnapshot) => doSomething());
Буду ли я платить за одно чтение, когда этот слушатель включен?