Я установил распределенный счетчик лайков и хочу подсчитать общее количество лайков в распределенном счетчике.
Счетчик настроен в соответствии с моей моделью «posts» как подколлекция «count_shrads», которая включает три документа (1, 2, 3), каждый из которых имеет поле «count».Я хочу создать функцию во флаттере, которая возвращает общее количество этих полей подсчета для каждого из трех документов для данной статьи.
Future getTotal(postID) async {
int counter;
Firestore.instance
.collection('post').document(postID).collection('count_shrads')
.snapshots()
.listen((data) =>
data.documents.forEach((doc) => counter += (doc["count"])));
print("The total is $counter");
return counter;
}
В настоящее время возвращается значение NULL.Кто-нибудь знает, как я могу вернуть совокупное значение?
Используя функцию уменьшения:
Future getTotal(postID) async {
int value;
Firestore.instance
.collection('post').document(postID).collection('count_shrads')
.snapshots()
.listen((data) =>
data.documents.reduce((value, element) => value + doc["count"])
);
return value;
}
Добавление изображения модели данных в Firestore.