Partial update Nested Field
Success
docRef.update(mapOf( "person.name" to "Desmond"))
or
docRef.set(mapOf( "person" to mapOf( "name" to "Desmond" )), SetOptions.merge())
NOTE: Firestore Partial Update: Create Document if Not Exis.
Fail
This replace person
with name: Desmond
(replace/delete all existing entries in person
).
docRef.update(mapOf( "person" to mapOf( "name" to "Desmond" )))
This create a new field person.name
instead of adding name
to person
.
docRef.set(mapOf( "person.name" to "Desmond"), SetOptions.merge())
Partial update Map
Nested Field is actually a map, so its behaviour is exactly the same as updating a map.
docRef.update(mapOf( "maps.3" to true))
or
docRef.set(mapOf( "maps" to mapOf( "3" to true )), SetOptions.merge())
Fail
This replace maps
with 3: true
(replace/delete all existing entries in maps
).
docRef.update(mapOf( "maps" to mapOf( "3" to true )))
This create a new field maps.6: true
instead of adding 6
to maps
.
docRef.set(mapOf( "maps.6" to true), SetOptions.merge())
References: