Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Update fields in nested objects in firestore documents?

I have a data structure like:

enter image description here

I want to edit the value of "test" key in "first" object. I followed the document on https://firebase.google.com/docs/firestore/manage-data/add-data

But it did not work for me.

The nodejs code:

var setAda = dbFirestore.collection('users').doc('alovelace').update({         first : {             test: "12345"             } }); 

The result in firestore: enter image description here

The "test2" key was gone. However, I only want to update the value of "test" and keep the "test2".

Any solution for this problem?

like image 221
TccHtnn Avatar asked Mar 07 '18 11:03

TccHtnn


1 Answers

According to the link you provided, it says this:

If your document contains nested objects, you can use "dot notation" to reference nested fields within the document when you call update():

Therefore you need to use dot notation to be able to update only one field without overwriting, so like this:

var setAda = dbFirestore.collection('users').doc('alovelace').update({     "first.test": "12345" }); 

then you will have:

 first   test: "12345"   test2: "abcd" 
like image 162
Peter Haddad Avatar answered Sep 18 '22 21:09

Peter Haddad