Хранение и извлечение данных из Firebase возвращается в другом формате - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь создать это приложение для отслеживания времени, где пользователи могут регистрировать, сколько часов в день они проработали. Чтобы дать вам представление о том, как выглядит мое приложение, я собрал скрипку: 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,

Может кто-нибудь помочь мне с тем, как эффективно хранить и извлекать данные для моего приложения?

Спасибо за тонну

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...