Я пытаюсь создать это приложение для отслеживания времени, где пользователи могут регистрировать, сколько часов в день они проработали. Чтобы дать вам представление о том, как выглядит мое приложение, я собрал скрипку: 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"
}
}
}
Снимок экрана: https://prnt.sc/kpglr9
Если он отформатирован с этим индексом, он действительно будет поддерживаться. Я не могу эффективно обновить / установить / получить узлы.
Я могу использовать что-то вроде
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 пользователя, я не могу обновить свой узел. Если я попытаюсь использовать мой метод submitHours()
сейчас, после обновления значений для пользователя # 2 (https://prnt.sc/kpgqzq), он сохранит новую информацию в новом узле, во что-то похожее на это: https://prnt.sc/kpgqgs,
Может кто-нибудь помочь мне с тем, как эффективно хранить и извлекать данные для моего приложения?
Спасибо за тонну