我正在尝试将我的Firebase数据库设置为具有3个级别,最高级别是PatientID,第二级别是日期(作为字符串传递),最后一个是与患者输入的相关答案相关的一些问题
下面的代码大致显示了我的布局方式,运行时,here显示了Firebase数据库布局的屏幕截图。
我面临的问题是,当运行如下所示的函数时,我希望最顶层的名称为“ testID”,第二层的名称为“ 1-1-19”。但是,该函数没有传递这些输入的变量,而是传递了变量名,如屏幕截图所示。
是否可以这样设置数据库?这样一来,我可以轻松添加多个患者ID,并为每个患者ID添加多个日期,然后最后在每个日期回答问题。
function writeUserData(patientID, date, question1a, question1b, question1c, question2, question3, question4, question5, question6, question7, question8a, question8b, question8c) {
firebase.database().ref("patients/").set({
patientID: {
date: {
"question1a": question1a,
"question1b": question1b,
"question1c": question1c,
"question2": question2,
"question3": question3,
"question4": question4,
"question5": question5,
"question6": question6,
"question7": question7,
"question8a": question8a,
"question8b": question8b,
"question8c": question8c
}
}
});
}
writeUserData("testID", "1-1-19", 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, 8, 8)
答案 0 :(得分:1)
必须是
firebase.database().ref("patients/").child("testID").child("1-1-19").set({
"question1a": question1a,
"question1b": question1b,
"question1c": question1c,
"question2": question2,
"question3": question3,
"question4": question4,
"question5": question5,
"question6": question6,
"question7": question7,
"question8a": question8a,
"question8b": question8b,
"question8c": question8c
});
很明显,您可以在需要时将变量传递给“ testID”和“ 1-1-19”
您也可以这样做
firebase.database().ref("patients/" + "testID" + "/" + "1-1-19").set({....
用适合您的变量替换字符串