public sealed class DocumentReference : IEquatable<DocumentReference>, IComparable<DocumentReference>
Reference documentation and code samples for the Firestore API class DocumentReference.
A reference to a document in a Firestore database. The existence of this object does not imply that the document currently exists in storage.
Namespace
Google.Cloud.FirestoreAssembly
Google.Cloud.Firestore.dll
Properties
Database
public FirestoreDb Database { get; }
The database which contains the document.
Property Value | |
---|---|
Type | Description |
FirestoreDb |
Id
public string Id { get; }
The final part of the complete document path; this is the identity of the document relative to its parent collection.
Property Value | |
---|---|
Type | Description |
string |
Parent
public CollectionReference Parent { get; }
The parent collection. Never null.
Property Value | |
---|---|
Type | Description |
CollectionReference |
Path
public string Path { get; }
The complete document path, including project and database ID.
Property Value | |
---|---|
Type | Description |
string |
Methods
Collection(string)
public CollectionReference Collection(string path)
Creates a CollectionReference for a child collection of this document.
Parameter | |
---|---|
Name | Description |
path | string The path to the collection, relative to this document. Must not be null, and must contain an odd number of slash-separated path elements. |
Returns | |
---|---|
Type | Description |
CollectionReference | A CollectionReference for the specified collection. |
CompareTo(DocumentReference)
public int CompareTo(DocumentReference other)
Parameter | |
---|---|
Name | Description |
other | DocumentReference |
Returns | |
---|---|
Type | Description |
int |
CreateAsync(object, CancellationToken)
public Task<WriteResult> CreateAsync(object documentData, CancellationToken cancellationToken = default)
Asynchronously creates a document on the server with the given data. The document must not exist beforehand.
Parameters | |
---|---|
Name | Description |
documentData | object The data for the document. Must not be null. |
cancellationToken | CancellationToken A cancellation token to monitor for the asynchronous operation. |
Returns | |
---|---|
Type | Description |
TaskWriteResult | The write result of the server operation. |
DeleteAsync(Precondition, CancellationToken)
public Task<WriteResult> DeleteAsync(Precondition precondition = null, CancellationToken cancellationToken = default)
Asynchronously deletes the document referred to by this path, with an optional precondition.
Parameters | |
---|---|
Name | Description |
precondition | Precondition Optional precondition for deletion. May be null, in which case the deletion is unconditional. |
cancellationToken | CancellationToken A cancellation token to monitor for the asynchronous operation. |
Returns | |
---|---|
Type | Description |
TaskWriteResult | The write result of the server operation. |
If no precondition is specified and the document doesn't exist, this returned task will succeed. If a precondition is specified and not met, the returned task will fail with an RpcException.
GetHashCode()
public override int GetHashCode()
Returns | |
---|---|
Type | Description |
int |
GetSnapshotAsync(CancellationToken)
public Task<DocumentSnapshot> GetSnapshotAsync(CancellationToken cancellationToken = default)
Asynchronously fetches a snapshot of the document.
Parameter | |
---|---|
Name | Description |
cancellationToken | CancellationToken |
Returns | |
---|---|
Type | Description |
TaskDocumentSnapshot | A snapshot of the document. The snapshot may represent a missing document. |
ListCollectionsAsync()
public IAsyncEnumerable<CollectionReference> ListCollectionsAsync()
Retrieves the collections within this document.
Returns | |
---|---|
Type | Description |
IAsyncEnumerableCollectionReference | A lazily-iterated sequence of collection references within this document. |
Listen(Action<DocumentSnapshot>, CancellationToken)
public FirestoreChangeListener Listen(Action<DocumentSnapshot> callback, CancellationToken cancellationToken = default)
Watch this document for changes. This method is a convenience method over Listen(Func<DocumentSnapshot, CancellationToken, Task>, CancellationToken), wrapping a synchronous callback to create an asynchronous one.
Parameters | |
---|---|
Name | Description |
callback | ActionDocumentSnapshot The callback to invoke each time the query results change. Must not be null. |
cancellationToken | CancellationToken Optional cancellation token which may be used to cancel the listening operation. |
Returns | |
---|---|
Type | Description |
FirestoreChangeListener | A FirestoreChangeListener which may be used to monitor the listening operation and stop it gracefully. |
Listen(Func<DocumentSnapshot, CancellationToken, Task>, CancellationToken)
public FirestoreChangeListener Listen(Func<DocumentSnapshot, CancellationToken, Task> callback, CancellationToken cancellationToken = default)
Watch this document for changes.
Parameters | |
---|---|
Name | Description |
callback | FuncDocumentSnapshotCancellationTokenTask The callback to invoke each time the document changes. Must not be null. |
cancellationToken | CancellationToken Optional cancellation token which may be used to cancel the listening operation. |
Returns | |
---|---|
Type | Description |
FirestoreChangeListener | A FirestoreChangeListener which may be used to monitor the listening operation and stop it gracefully. |
SetAsync(object, SetOptions, CancellationToken)
public Task<WriteResult> SetAsync(object documentData, SetOptions options = null, CancellationToken cancellationToken = default)
Asynchronously sets data in the document, either replacing it completely or merging fields.
Parameters | |
---|---|
Name | Description |
documentData | object The data to store in the document. Must not be null. |
options | SetOptions The options to use when updating the document. May be null, which is equivalent to Overwrite. |
cancellationToken | CancellationToken A cancellation token to monitor for the asynchronous operation. |
Returns | |
---|---|
Type | Description |
TaskWriteResult | The write result of the server operation. |
ToString()
public override string ToString()
Returns | |
---|---|
Type | Description |
string |
UpdateAsync(IDictionary<FieldPath, object>, Precondition, CancellationToken)
public Task<WriteResult> UpdateAsync(IDictionary<FieldPath, object> updates, Precondition precondition = null, CancellationToken cancellationToken = default)
Asynchronously performs a set of updates on the document referred to by this path, with an optional precondition.
Parameters | |
---|---|
Name | Description |
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. |
cancellationToken | CancellationToken A cancellation token to monitor for the asynchronous operation. |
Returns | |
---|---|
Type | Description |
TaskWriteResult | The write result of the server operation. |
UpdateAsync(IDictionary<string, object>, Precondition, CancellationToken)
public Task<WriteResult> UpdateAsync(IDictionary<string, object> updates, Precondition precondition = null, CancellationToken cancellationToken = default)
Asynchronously performs a set of updates on the document referred to by this path, with an optional precondition.
Parameters | |
---|---|
Name | Description |
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. |
cancellationToken | CancellationToken A cancellation token to monitor for the asynchronous operation. |
Returns | |
---|---|
Type | Description |
TaskWriteResult | The write result of the server operation. |
UpdateAsync(string, object, Precondition, CancellationToken)
public Task<WriteResult> UpdateAsync(string field, object value, Precondition precondition = null, CancellationToken cancellationToken = default)
Asynchronously performs a single field update on the document referred to by this path, with an optional precondition.
Parameters | |
---|---|
Name | Description |
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. |
cancellationToken | CancellationToken A cancellation token to monitor for the asynchronous operation. |
Returns | |
---|---|
Type | Description |
TaskWriteResult | The write result of the server operation. |