2

here is the firebase document data

enter image description here

I want to add a new map value to the purchased-id. this is the current code

FirebaseFirestore.instance.collection('users').doc(userID).set({
  'purchased-id': {
    widget.head: widget.id,
  }
});               

but with this code the map value is replaced, how do I add another map value to the existing map

like this

enter image description here

pluto
  • 115
  • 8

1 Answers1

3

I think need merge: true to update the map with its new value.

FirebaseFirestore.instance.collection('users').doc(userID).set({
  'purchased-id': {
    widget.head: widget.id,
  }
}, SetOptions(merge: true));

Reference: https://firebase.google.com/docs/firestore/manage-data/add-data#update_fields_in_nested_objects

Also to differentiate with .set and .update, have a look at this answer: https://stackoverflow.com/a/47554197/11566161

Shri Hari L
  • 4,551
  • 2
  • 6
  • 18