Batches

Helpers for batch requests to the Google Cloud Firestore API.

class google.cloud.firestore_v1.base_batch.BaseWriteBatch(client)

Bases: object

Accumulate write operations to be sent in a batch.

This has the same set of methods for write operations that DocumentReference does, e.g. create().

  • Parameters

    client (Client) – The client that created this batch.

create(reference: google.cloud.firestore_v1.document.DocumentReference, document_data: dict)

Add a “change” to this batch to create a document.

If the document given by reference already exists, then this batch will fail when commit()-ed.

  • Parameters

    • reference (DocumentReference) – A document reference to be created in this batch.

    • document_data (dict) – Property names and values to use for creating a document.

delete(reference: google.cloud.firestore_v1.document.DocumentReference, option: Optional[google.cloud.firestore_v1._helpers.WriteOption] = None)

Add a “change” to delete a document.

See google.cloud.firestore_v1.document.DocumentReference.delete() for more information on how option determines how the change is applied.

  • Parameters

    • reference (DocumentReference) – A document reference that will be deleted in this batch.

    • option (Optional[WriteOption]) – A write option to make assertions / preconditions on the server state of the document before applying changes.

set(reference: google.cloud.firestore_v1.document.DocumentReference, document_data: dict, merge: Union[bool, list] = False)

Add a “change” to replace a document.

See google.cloud.firestore_v1.document.DocumentReference.set() for more information on how option determines how the change is applied.

  • Parameters

    • reference (DocumentReference) – A document reference that will have values set in this batch.

    • document_data (dict) – Property names and values to use for replacing a document.

    • merge (Optional[bool] or **Optional[List]) – If True, apply merging instead of overwriting the state of the document.

update(reference: google.cloud.firestore_v1.document.DocumentReference, field_updates: dict, option: Optional[google.cloud.firestore_v1._helpers.WriteOption] = None)

Add a “change” to update a document.

See google.cloud.firestore_v1.document.DocumentReference.update() for more information on field_updates and option.

  • Parameters

    • reference (DocumentReference) – A document reference that will be updated in this batch.

    • field_updates (dict) – Field names or paths to update and values to update with.

    • option (Optional[WriteOption]) – A write option to make assertions / preconditions on the server state of the document before applying changes.

Helpers for batch requests to the Google Cloud Firestore API.

class google.cloud.firestore_v1.batch.WriteBatch(client)

Bases: google.cloud.firestore_v1.base_batch.BaseWriteBatch

Accumulate write operations to be sent in a batch.

This has the same set of methods for write operations that DocumentReference does, e.g. create().

  • Parameters

    client (Client) – The client that created this batch.

commit(retry: google.api_core.retry.Retry = <_MethodDefault._DEFAULT_VALUE:

Commit the changes accumulated in this batch.

  • Parameters

    • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried. Defaults to a system-specified policy.

    • timeout (float) – The timeout for this request. Defaults to a system-specified value.

  • Returns

    The write results corresponding to the changes committed, returned in the same order as the changes were applied to this batch. A write result contains an update_time field.

  • Return type

    List[google.cloud.proto.firestore.v1.write.WriteResult, …]

Helpers for batch requests to the Google Cloud Firestore API.

class google.cloud.firestore_v1.async_batch.AsyncWriteBatch(client)

Bases: google.cloud.firestore_v1.base_batch.BaseWriteBatch

Accumulate write operations to be sent in a batch.

This has the same set of methods for write operations that AsyncDocumentReference does, e.g. create().

  • Parameters

    client (AsyncClient) – The client that created this batch.

async commit(retry: google.api_core.retry.Retry = <_MethodDefault._DEFAULT_VALUE:

Commit the changes accumulated in this batch.

  • Parameters

    • retry (google.api_core.retry.Retry) – Designation of what errors, if any, should be retried. Defaults to a system-specified policy.

    • timeout (float) – The timeout for this request. Defaults to a system-specified value.

  • Returns

    The write results corresponding to the changes committed, returned in the same order as the changes were applied to this batch. A write result contains an update_time field.

  • Return type

    List[google.cloud.proto.firestore.v1.write.WriteResult, …]