Reputation: 2178
I understand to use Firestore FieldValue increment
function in the nested object I need to mention the completed path in the update
method. My Ionic 5 project's main method takes the name of the field of the object. Following are the ways I have tried to use it
updateCounter(attr: string){
Way1:
let obj = {};
obj[attr] = firebase.firestore.FieldValue.increment(1); //This is working
obj.count[attr] = firebase.firestore.FieldValue.increment(1); //This is not working. Value is always 1
this.afs.doc('path').update(obj);
Way2:
this.afs.doc('path').update({
'count.${attr}': firebase.firestore.FieldValue.increment(1); //Creating a field called '${attr}' and not replacing the value;
});
Way3:
this.afs.doc('path').update({
`count.${attr}`: firebase.firestore.FieldValue.increment(1); //Error as '``' value not accepted in the function
});
}
Upvotes: 4
Views: 1173
Reputation: 3640
This should work:
this.afs.doc('path').update({
["count." + attr]: firebase.firestore.FieldValue.increment(1);
});
Upvotes: 5