【发布时间】:2020-01-09 18:04:30
【问题描述】:
我正在尝试计算这个名为 meterdata 的集合的每小时平均值,其中集合中的每个文档都有一个名为 hourlyarray 的数组,其长度为 24。
此代码 sn-p 映射 [0] 所有 hourlyarrays 并将它们平均在一起形成一个数字。
它写得很好,但只是平均排名第一。有没有一种简单的方法可以在我的 component.ts 上以编程方式创建一个 Observable 来运行 24 次,然后将所有结果一起批处理到一个数组中?
this.avg0 = collectionRef.collection('meterdata',
ref=> ref.where("day", "==", day )).valueChanges()
.pipe((map(data => data.map(d => d.hourlyarray[0])
.reduce((acc, avg) => acc + avg, 0)/data.length)));
相关:在客户端做这个计算是不是很聪明?
【问题讨论】:
标签: angular google-cloud-firestore angularfire2