【发布时间】:2020-10-19 17:11:32
【问题描述】:
我正在尝试从 Firestore 计算 serviceCost 的总和。我设法获取了所有文档,但查询似乎只计算了给定月份输入的第一个成本。
代码:
firebase
.firestore()
.collection("users")
.doc(uid)
.collection("confirmed-appointments")
.get()
.then((querySnapshot) => {
let serviceCostTotal = 0; //Will hold currentMonth Total Income.
let monthNumber = 0;
let array = [];
querySnapshot.forEach((doc) => {
monthNumber = parseInt(doc.data().month, 10);
serviceCostTotal =
serviceCostTotal + parseInt(doc.data().serviceCost, 10); //Calculate Total Month income using this formula
array[monthNumber - 1] = serviceCostTotal; //Push the income of month X to array in X place
serviceCostTotal = 0; // after pushing, initialize the sum to 0
});
例如: 我想计算第 10 个月的总 serviceCost。
在循环中,我试图获取每个文档的serviceCost,并将其推送到数组[monthNumber]。
问题是:如果我有 2 个文档,它们的值是相同的 "month: xx" ,则循环仅计算第一个文档的 serviceCost 值。 这意味着如果我的总和需要为 6000,则只需 2500。
【问题讨论】:
-
你现在拥有的有什么问题?请编辑问题以清楚说明哪些内容未按您期望的方式工作,以及您是如何观察到的。我们应该能够获取您的代码和数据并为自己复制。
-
已编辑,希望您能理解
标签: javascript react-native google-cloud-firestore