tarun cool
tarun cool

Reputation: 101

How to update nested object of firebase data in (angularfire2 / Ionic), and also i want to update with given value not with key

I was integrate firebase with ionic3 angularjs, adding data successfully like

  var fireData = 
           {
             userid      : '1122233',
             questionId  : '18022',
             answerId    : '25633',
             points      : '2'
          }

//Add

this.sample.list('paperCode').push(fireData);

Now I want to update like below mentioned image

enter image description here

Upvotes: 0

Views: 3297

Answers (2)

Troy Thompson II
Troy Thompson II

Reputation: 431

You need to set a path to that object and update the field you would like. In this example...

firebase.database().ref(1710172911409/L5F4BEuePS8qxUqDNoF/questionId).update("NEWQUESTIONID);

If you don't know the unique id of the pushed object, you can query for it. Learn more here

Upvotes: 0

Hareesh
Hareesh

Reputation: 6900

If you don't know the key, first query the data with the field you know then iterate through the result and get the key. Then you can perform update.

Try

updateFunction(questionId){
    this.sample.list('/paperCode', ref => ref.orderByChild('questionId').equalTo(questionId)).snapshotChanges()
    .subscribe(actions => {
        actions.forEach(action => {
          // here you get the key
          console.log(action.key);
          this.sample.list('/paperCode').update(action.key, { points: 10 });
        });
    });
}

I hope your question id is unique, otherwise it will override all queried results.

Upvotes: 1

Related Questions