База данных Firebase Realtime, получающая дубликаты данных при добавлении, обновлении или удалении элемента Javascript - PullRequest
1 голос
/ 30 апреля 2020

Я застрял при попытке прочитать данные из Firebase при добавлении, обновлении или удалении элемента. Когда я делаю одну из 3 операций. Что он делает: дублирует данные, которые были раньше, и добавляет новые значения. Я использую прослушиватель событий 'values' для чтения из firebase.

Когда я добавляю в firebase новые данные (в этом случае я добавил firebase), данные Google дублируются в два раза. Он был создан раньше в пожарной базе. Но если я перезагрузить страницу, то она отображается правильно. Просто покажите один Google Data.

Я не могу понять, где находится ошибка, это слушатель события 'value'?

Это результат, который я получаю при добавлении, обновлении или удалении предмет в огненной базе. https://i.stack.imgur.com/CcpNx.png

Действия Vuex

addEvent({getters,commit},payload){
            firebase.database().ref('usuario/'+getters.isAuthenticated.userId+'/eventos/').push(payload)
                .then((event)=>{
                    //Update state changes
                    commit('setEvent',event);
                    router.push('/')
                }).catch(err =>{
                console.log(err.message)
            })
        },

Здесь я читаю данные из firebase с помощью слушателя события 'value'

 getEvents({commit}){
            let events = [];
            firebase.database().ref('usuario')
                .on('value',event =>{
                    event.forEach(user =>{
                        user.child('eventos').forEach(evento =>{
                            events.push({ "id": evento.key, ...evento.val() })
                        })
                    });
                   //Update state changes

                    commit('setEvent',events)
                });
        }
...