Data update with IONIC and Firebase

Asked

Viewed 288 times

1

Good evening, I’m studying Firebase with IONIC and Angular (I’m not using Angularfire) and a question has arisen. How do I update the data saved in Firebase? To get the data I do as follows:

const config = {
    apiKey: "x",
    authDomain: "x",
    databaseURL: "x",
    projectId: "x",
    storageBucket: "x",
    messagingSenderId: "x"
  };
  firebase.initializeApp(config);

  let ref = firebase.database().ref('statuspedido');//statuspedido

  this.pedidos = new Array();

  ref.on('value', (dataSnapshot) =>{
     let items = dataSnapshot.val();
     for(let dados in items){
        this.pedidos.push(
            new PedidoModel(
                items[dados].dataEmissao, 
                items[dados].dataAtualizacao, 
                items[dados].vendedor, items[dados].frete, 
                items[dados].transportadora, items[dados].status)
        )
     }
  })

My firebase structure is like this: inserir a descrição da imagem aqui

And I want to update the "idPedido = 1" without changing the others.

1 answer

1

Just use the method update, that you find in documentation:

var objeto = {
      a : 'a',
      b : 'b'
    };
    
    firebase.database().ref('caminho/para/o/meu/objeto').update(objeto)
    .then(function (retorno){
            //se cair aqui, os dados foram atualizados com sucesso
         })
    .catch(function (error){
            //se cair aqui, deu erro
     });

You can also upgrade two places at the same time:

var objeto = { a : 'teste' };
var atualizacoes = {};      
atualizacoes['usuario/'] = objeto;
atualizacoes['todos/']=objeto;
      
      
firebase.database().ref('caminho/para/o/meu/objeto').update(atualizacoes)
   .then(function (retorno){
          //se cair aqui, os dados foram atualizados com sucesso
       })
   .catch(function (error){
          //se cair aqui, deu erro
   });

  • Good morning, I did as I did but instead of updating it creates new object. I need to update a specific object.

  • .update will update the object if it already exists, otherwise it creates a new

Browser other questions tagged

You are not signed in. Login or sign up in order to post.