code: def set(self, document_data, merge=False):
          
          batch = self._client.batch()
          batch.set(self, document_data, merge=merge)
          write_results = batch.commit()
          return _first_write_result(write_results)
docs: Replace the current document in the Firestore database.
  
          A write ``option`` can be specified to indicate preconditions of
          the "set" operation. If no ``option`` is specified and this document
          doesn't exist yet, this method will create it.
  
          Overwrites all content for the document with the fields in
          ``document_data``. This method performs almost the same functionality
          as :meth:`create`. The only difference is that this method doesn't
          make any requirements on the existence of the document (unless
          ``option`` is used), whereas as :meth:`create` will fail if the
          document already exists.
  
          Args:
              document_data (dict): Property names and values to use for
                  replacing a document.
              merge (Optional[bool] or Optional[List<apispec>]):
                  If True, apply merging instead of overwriting the state
                  of the document.
  
          Returns:
              google.cloud.firestore_v1beta1.types.WriteResult: The
              write result corresponding to the committed document. A write
              result contains an ``update_time`` field.