Update and Delete in Firestore
Like the Firebase real-time database, we can update and delete the values from the Firebase Firestore.
For updating some fields of a document without overwriting the entire document, use the update() method. This method is used in the following way:
We can use "dot nation" to reference nested fields within the document, if our documents contain nested object,.
For adding and removing elements from an array, arrayUnion() and arrayRemove() methods are available. The arrayUnion() adds elements to an array but only those elements that are not already present. The arrayRemove() methods remove all instances of each given element.
In Firebase Firestore, for deleting a document, the delete() method is used:
It does not automatically delete the documents within its subcollections. We can still access the sub-collection documents by reference. E.g. we can access the document at path /mycoll/mydoc//mysubcoll/mysubdoc even if we delete the ancestor document at /mycoll/mydoc.
If we want to delete a document and all the documents within its sub-collection, we must do so manually.
For deleting a specific field from a document, use the FieldValue.delete() method when we update a document.
We have to retrieve all the documents within the collection or sub-collection and delete them to delete an entire collection or sub-collection. For larger collections, we may want to delete the documents in smaller batches for avoiding out-of-memory errors.
Deleting a collection requires coordinating an unbounded number of individual delete requests, and deleting a collection from a mobile client has negative security and performance implications.