Firestore API - Class Transaction (3.5.0)

public sealed class Transaction

Reference documentation and code samples for the Firestore API class Transaction.

A transaction, as created by RunTransactionAsync<T>(Func<Transaction, Task<T>>, TransactionOptions, CancellationToken) (and overloads) and passed to user code.

Inheritance

object > Transaction

Namespace

Google.Cloud.Firestore

Assembly

Google.Cloud.Firestore.dll

Properties

CancellationToken

public CancellationToken CancellationToken { get; }

The cancellation token for this transaction

Property Value
TypeDescription
CancellationToken

Database

public FirestoreDb Database { get; }

The database for this transaction.

Property Value
TypeDescription
FirestoreDb

Methods

Create(DocumentReference, object)

public void Create(DocumentReference documentReference, object documentData)

Adds an operation to create a document in this transaction.

Parameters
NameDescription
documentReferenceDocumentReference

The document reference to create. Must not be null.

documentDataobject

The data for the document. Must not be null.

Delete(DocumentReference, Precondition)

public void Delete(DocumentReference documentReference, Precondition precondition = null)

Adds an operation to delete a document's data in this transaction.

Parameters
NameDescription
documentReferenceDocumentReference

The document to delete. Must not be null.

preconditionPrecondition

Optional precondition for deletion. May be null, in which case the deletion is unconditional.

GetAllSnapshotsAsync(IEnumerable<DocumentReference>, FieldMask, CancellationToken)

public Task<IList<DocumentSnapshot>> GetAllSnapshotsAsync(IEnumerable<DocumentReference> documentReferences, FieldMask fieldMask, CancellationToken cancellationToken = default)

Fetch snapshots of all the documents specified by documentReferences, with respect to this transaction, potentially limiting the fields returned. This method cannot be called after any write operations have been created.

Parameters
NameDescription
documentReferencesIEnumerableDocumentReference

The document references to fetch. Must not be null, or contain null references.

fieldMaskFieldMask

The field mask to use to restrict which fields are retrieved. May be null, in which case no field mask is applied, and the complete documents are retrieved.

cancellationTokenCancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
TypeDescription
TaskIListDocumentSnapshot

The document snapshots, in the same order as documentReferences.

Remarks

Any documents which are missing are represented in the returned list by a DocumentSnapshot with Exists value of false.

GetAllSnapshotsAsync(IEnumerable<DocumentReference>, CancellationToken)

public Task<IList<DocumentSnapshot>> GetAllSnapshotsAsync(IEnumerable<DocumentReference> documentReferences, CancellationToken cancellationToken = default)

Fetch snapshots of all the documents specified by documentReferences, with respect to this transaction. This method cannot be called after any write operations have been created.

Parameters
NameDescription
documentReferencesIEnumerableDocumentReference

The document references to fetch. Must not be null, or contain null references.

cancellationTokenCancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
TypeDescription
TaskIListDocumentSnapshot

The document snapshots, in the same order as documentReferences.

Remarks

Any documents which are missing are represented in the returned list by a DocumentSnapshot with Exists value of false.

GetSnapshotAsync(AggregateQuery, CancellationToken)

public Task<AggregateQuerySnapshot> GetSnapshotAsync(AggregateQuery query, CancellationToken cancellationToken = default)

Fetch the AggregateQuerySnapshot from the specified AggregateQuery.

Parameters
NameDescription
queryAggregateQuery

The aggregate query to execute. Must not be null.

cancellationTokenCancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
TypeDescription
TaskAggregateQuerySnapshot

A AggregateQuerySnapshot of results of the given query with respect to this transaction.

GetSnapshotAsync(DocumentReference, CancellationToken)

public Task<DocumentSnapshot> GetSnapshotAsync(DocumentReference documentReference, CancellationToken cancellationToken = default)

Fetch a snapshot of the document specified by documentReference, with respect to this transaction. This method cannot be called after any write operations have been created.

Parameters
NameDescription
documentReferenceDocumentReference

The document reference to fetch. Must not be null.

cancellationTokenCancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
TypeDescription
TaskDocumentSnapshot

A snapshot of the given document with respect to this transaction.

GetSnapshotAsync(Query, CancellationToken)

public Task<QuerySnapshot> GetSnapshotAsync(Query query, CancellationToken cancellationToken = default)

Performs a query and returned a snapshot of the the results, with respect to this transaction. This method cannot be called after any write operations have been created.

Parameters
NameDescription
queryQuery

The query to execute. Must not be null.

cancellationTokenCancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
TypeDescription
TaskQuerySnapshot

A snapshot of results of the given query with respect to this transaction.

Set(DocumentReference, object, SetOptions)

public void Set(DocumentReference documentReference, object documentData, SetOptions options = null)

Adds an operation to set a document's data in this transaction.

Parameters
NameDescription
documentReferenceDocumentReference

The document in which to set the data. Must not be null.

documentDataobject

The data for the document. Must not be null.

optionsSetOptions

The options to use when updating the document. May be null, which is equivalent to Overwrite.

Update(DocumentReference, IDictionary<FieldPath, object>, Precondition)

public void Update(DocumentReference documentReference, IDictionary<FieldPath, object> updates, Precondition precondition = null)

Adds an operation to update a document's data in this transaction.

Parameters
NameDescription
documentReferenceDocumentReference

The document to update. Must not be null.

updatesIDictionaryFieldPathobject

The updates to perform on the document, keyed by the field path to update. Fields not present in this dictionary are not updated. Must not be null or empty.

preconditionPrecondition

Optional precondition for updating the document. May be null, which is equivalent to MustExist.

Update(DocumentReference, IDictionary<string, object>, Precondition)

public void Update(DocumentReference documentReference, IDictionary<string, object> updates, Precondition precondition = null)

Adds an operation to update a document's data in this transaction.

Parameters
NameDescription
documentReferenceDocumentReference

A document reference indicating the path of the document to update. Must not be null.

updatesIDictionarystringobject

The updates to perform on the document, keyed by the dot-separated field path to update. Fields not present in this dictionary are not updated. Must not be null or empty.

preconditionPrecondition

Optional precondition for updating the document. May be null, which is equivalent to MustExist.

Update(DocumentReference, string, object, Precondition)

public void Update(DocumentReference documentReference, string field, object value, Precondition precondition = null)

Adds an operation to update a document's data in this transaction.

Parameters
NameDescription
documentReferenceDocumentReference

A document reference indicating the path of the document to update. Must not be null.

fieldstring

The dot-separated name of the field to update. Must not be null.

valueobject

The new value for the field. May be null.

preconditionPrecondition

Optional precondition for updating the document. May be null, which is equivalent to MustExist.