我对Flutter和Firebase完全陌生。我需要有关Firestore集合分组和计数的帮助。
我在一个集合中有一个名称列表,我想要实现的是按唯一值列出它们,并对每个值的总数进行计数。
示例:
名称列表:
我的收集/结果应返回如下所示的名称,并具有唯一的名称以及分配给变量的每个值的总数。
如何在带有Firestore的Flutter中实现这一目标?
答案 0 :(得分:2)
您可以通过查询获取数据来计算名称,然后使用地图(如以下代码)来区分名称。
var map = Map();
_countNames() {
Firestore.instance
.collection("collectionNameHere")
.getDocuments()
.then((snapshot) {
snapshot.documents.map((element) {
if (!map.containsKey(element.data['name'])) {
map[element.data['name']] = 1;
} else {
map[element.data['name']] += 1;
}
}).toList();
});
}
print(map);