我正在尝试构建此timetracker应用,用户可以在其中记录每天工作了多少小时。为了让您了解我的应用程序的外观,我整理了一个小提琴:https://jsfiddle.net/9vhfmjpy/
这是棘手的部分。每当我尝试通过执行以下操作将数据存储到Firebase中的节点中时:
submitHours() {
var uid = firebase.auth().currentUser.uid;
firebase
.database()
.ref("userhours/" + uid)
.set(this.rows)
.then(data => {
console.log(data);
});
},
它将变成具有索引值的对象,例如:
userhours: {
userId: {
0: {
name: "username",
times: "time here"
}
}
}
使用该索引对其进行格式化可以使其真正得以维护。我无法有效地更新/设置/检索节点。 我可以使用类似的
loadUserHours() {
var userId = firebase.auth().currentUser.uid;
firebase.database().ref("userhours").once("value").then((data) => {
const allRows = [];
let obj = data.val();
for (let key in obj) {
allRows.push({
name: obj[key][0].name,
times: obj[key][0].times
})
}
console.log(allRows)
this.rows = allRows
})
},
只是简单地检索值,但是现在...如果userhours
节点中有1个以上的用户,则我无法真正更新我的节点。如果我现在在更新用户#2(https://prnt.sc/kpgqzq)的值后尝试使用submitHours()
方法,它将把新信息存储在新节点中,如下所示:{{3 }},
有人可以帮助我解决如何有效存储和检索应用程序数据的问题吗?
一吨