Firestore
_subscription = await FirebaseFirestore.instance
.collection('rooms')
.where('userIDs', arrayContains: 'someUserID')
.snapshots()
.listen((QuerySnapshot roomsSnapshot) {
roomsSnapshot.docChanges.forEach((change) {
Object? data = change.doc.data();
print(data);
print('\n');
});
});
Это все прекрасно работает, но я не могу полагаться на это, потому что после хот релоада или даже если все закрыть, удалить приложение с эмулятора, потом снова собрать, то я вижу предыдущие старые изменения в консоли
Типа такого ничего не помогает
void dispose() {
_subscription?.cancel();
_subscription = null;
}
Кто с подобным сталкивался и решил, чтобы не показывало бесконечно старые изменения в базе?
вопрос закрыт, вкурил, что change.doc.data(); возвращает последнее изменение каждого документа, а не последнего измененнного в принципе может кому пригодится, цикл forEach не нужен, взять последнее изменение - final latestChange = roomsSnapshot.docChanges.last.doc.data();
Обсуждают сегодня