Firestore API - Class Transaction (3.7.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
Type Description
CancellationToken

Database

public FirestoreDb Database { get; }

The database for this transaction.

Property Value
Type Description
FirestoreDb

Methods

Create(DocumentReference, object)

public void Create(DocumentReference documentReference, object documentData)

Adds an operation to create a document in this transaction.

Parameters
Name Description
documentReference DocumentReference

The document reference to create. Must not be null.

documentData object

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
Name Description
documentReference DocumentReference

The document to delete. Must not be null.

precondition Precondition

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
Name Description
documentReferences IEnumerableDocumentReference

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

fieldMask FieldMask

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.

cancellationToken CancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
Type Description
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
Name Description
documentReferences IEnumerableDocumentReference

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

cancellationToken CancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
Type Description
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
Name Description
query AggregateQuery

The aggregate query to execute. Must not be null.

cancellationToken CancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
Type Description
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
Name Description
documentReference DocumentReference

The document reference to fetch. Must not be null.

cancellationToken CancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
Type Description
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
Name Description
query Query

The query to execute. Must not be null.

cancellationToken CancellationToken

A cancellation token to monitor for the asynchronous operation.

Returns
Type Description
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
Name Description
documentReference DocumentReference

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

documentData object

The data for the document. Must not be null.

options SetOptions

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
Name Description
documentReference DocumentReference

The document to update. Must not be null.

updates IDictionaryFieldPathobject

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.

precondition Precondition

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
Name Description
documentReference DocumentReference

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

updates IDictionarystringobject

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.

precondition Precondition

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
Name Description
documentReference DocumentReference

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

field string

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

value object

The new value for the field. May be null.

precondition Precondition

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