【问题标题】:Calculate total from Firestore database从 Firestore 数据库计算总数
【发布时间】:2022-01-05 15:26:55
【问题描述】:

试图从 Fire Store 数据库的三个字段中获取总价

现金:'500000' 提现:'46000' 现金:“58000”

我正在使用下面的代码..但它给了我一个 05000004600058000 的结果,而不是对值求和。请问我做错了什么?

 var totalCash = 0;
    this.adb.collection('cash').get().toPromise().then(function(querySnapshot) {
    querySnapshot.forEach(function(doc) {
      console.log('VALUESSS',doc.data())
        totalCash = totalCash + (doc.data().cashamout);
    });
    console.log('TOTALCLCLSLS',totalCash);
});

【问题讨论】:

  • 值是字符串?做一个 totalCash = totalCash + parseInt(doc.data().cashamount)?
  • 非常感谢它有效
  • 我做了这个 Number(doc.data().cashamout);
  • 你能再帮忙做一件事吗?
  • 你需要什么? :)

标签: javascript angular google-cloud-firestore


【解决方案1】:

您的数字实际上根本不是数字。它们是字符串。您可以分辨出来,因为在控制台中查看时它们周围会有引号。

当您“添加”两个字符串时,它们会像您显示的输出一样连接起来。

如果你想在 Firestore 中存储一个数字,你应该确保输入数据实际上是一个 JavaScript 数字类型在你编写文档之前,而不是像现在这样的字符串。这将使他们能够正确地排序和参与数学。

【讨论】:

    【解决方案2】:

    我刚刚转换为整数,它现在可以工作了

    数字(doc.data().cashamout);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 2014-05-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多