首页 > 解决方案 > 如何每月在 Firebase 中制作销售报告?

问题描述

我已经可以通过以下方式获得订单的销售额:

 useEffect(() => {
    var totalIncome = 0;
    firestore
      .collection("orders")
      .get()
      .then(function (querySnapshot) {
        querySnapshot.forEach(function (doc) {
          totalIncome += doc.data().total;
        });
        console.log(totalIncome); //sales report
      });
  });

现在,我如何才能每月进行销售?

在此处输入图像描述

标签: javascriptreactjsfirebasegoogle-cloud-firestore

解决方案


要获得所有total字段的总和,您必须:

  1. 将所有文档读入您的应用程序代码中,并且
  2. 将各个值相加。

这没有捷径可走,因为 Firestore 不支持所谓的聚合查询。

由于上述过程缓慢且昂贵,因此通常最好实际存储应用程序需要的所有聚合值的运行总计。有关这方面的更多信息,我建议阅读有关聚合查询分布式计数器的 Firebase 文档。

基于此,您应该能够得到一些工作。如果您在执行此操作时遇到问题,我建议您使用能够重现您卡住的位置的最少代码进行回发。


推荐阅读