【问题标题】:Grouping of data fetched from firestore using Angularfire2使用Angularfire2从firestore获取的数据分组
【发布时间】:2019-10-15 19:33:54
【问题描述】:

功能:

我有一个 Angular 项目,我必须为其生成一个图表,显示 invoiceDate 与 saleAmount。数据是从发票集合中获取的。

var invoiceRef = this.afs.collection<Invoice>('invoices', 
    ref=> ref.orderBy('creationDate','desc'));

我在这里获取每张发票的 saleAmount 和 invoiceDate。

问题

如何计算每个发票日期的salesAmount?

在传统 SQL 中,您会编写类似

的内容
SELECT COUNT(saleAmount) FROM invoice GROUP BY invoiceDate;

如何使用 angularfire 查询 Firestore?

【问题讨论】:

    标签: angular database google-cloud-firestore angularfire2


    【解决方案1】:

    不确定是否可以直接从 firestore 查询中完成,但您可以实现一个函数,在获取数据后(或之前,使用 cloud functions)执行此操作。

    它可能看起来像这样:

    const groupedInovices = {};
    invocies.forEach((inovice) => {
          groupedInovices[invoice.date] = groupedInovices[invoice.date] ? groupedInovices[invoice.date]++ : 1;
        });
    

    你最终会得到一个如下所示的对象:

    {
      "05/30/2019": 20
      "05/29/2019: 13
    }
    

    【讨论】:

    • 我也是这么想的。我也最终做了类似的事情。不过感谢您的确认。
    猜你喜欢
    • 2018-08-29
    • 1970-01-01
    • 2018-08-02
    • 2020-09-12
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 2021-04-17
    • 2023-03-04
    相关资源
    最近更新 更多