【问题标题】:Firebase Saving multiple dataFirebase 保存多个数据
【发布时间】:2018-03-04 03:31:57
【问题描述】:

我是使用 Google Firebase 的新手。我设法添加了实时保存数据功能,但我想保存我拥有的数据。请有人指导我正确的道路吗?

这是.JS文件中的代码:

var btn = document.getElementById(btn);

var weight, height, measure, bmi, error ;

function calculate() {

    var firebaseRef = firebase.database().ref();

    firebaseRef.child("BMI").set("BMI Values");

    weight = document.getElementById("weight").value;
    height = document.getElementById("height").value;
    error = "Please enter some values";
    height /= 100;
    height *= height;
    bmi = weight/height;
    bmi = bmi.toFixed(1);

    if (bmi <= 18.4) {
        measure = "Your BMI is " + bmi + " which means " + "you are Underweight";
    } else if (bmi >= 18.5 && bmi <= 24.9) {
        measure = "Your BMI is " + bmi + " which means " + "You are Normal";
    } else if (bmi >= 25 && bmi <= 29.9) {
        measure = "Your BMI is " + bmi + " which means " + "You are Overweight";
    } else if (bmi >= 30) {
        measure = "Your BMI is " + bmi + " which means " + "You are Obese";
    }

    if (weight === 0 ) {
        document.getElementById("results").innerHTML = error;
    } else if (height === 0){
        document.getElementById("results").innerHTML = error;
    }
     else {

        document.getElementById("results").innerHTML = measure;
    }
    if (weight < 0) {
        document.getElementById("results").innerHTML = "Negative Values not Allowed";
    }
}

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    要将 BMI 数据添加到数据库中,请执行以下操作:

    weight = document.getElementById("weight").value;
    height = document.getElementById("height").value;
    error = "Please enter some values";
    height /= 100;
    height *= height;
    bmi = weight/height;
    bmi = bmi.toFixed(1);
    
    firebaseRef.child("BMI").push({
      weight: weight,
      height: height,
      bmi: bmi
    });
    

    除了(显然)传递您从 HTML 获得的值之外,此代码还调用 push(),每次调用时都会在 JSON 中生成一个新的唯一位置。这样您输入的值就不会覆盖已经存在的值。

    请注意,HTML 元素通常以字符串形式返回 value。因此,在从 HTML 元素获取后,您可能仍需要将重量和高度转换为数字:

    weight = parseFloat(document.getElementById("weight").value);
    height = parseFloat(document.getElementById("height").value);
    

    最后:Firebase documentationFirebase codelab for web developers 很好地介绍了将数据保存到 Firebase。我强烈建议您检查一下。在那里呆了几个小时,省去了很多问题。

    【讨论】:

      猜你喜欢
      • 2018-02-20
      • 2021-07-05
      • 1970-01-01
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-02
      相关资源
      最近更新 更多