功能:
我有一个Angular项目,必须为它生成一个显示invoiceDate vs 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操作?
答案 0 :(得分: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
}