Hi there! Are you looking for the official Deno documentation? Try docs.deno.com for all your Deno learning needs.

DocumentSnapshot

A DocumentSnapshot contains data read from a document in your Firestore database. The data can be extracted with .data() or .get(<field>) to get a specific field.

For a DocumentSnapshot that points to a non-existing document, any data access will return 'undefined'. You can use the exists() method to explicitly verify a document's existence.

class DocumentSnapshot<AppModelType = DocumentData, DbModelType extends DocumentData = DocumentData> {
protected constructor();
get id(): string;
readonly metadata: SnapshotMetadata;
get ref(): DocumentReference<AppModelType, DbModelType>;
 
data(options?: SnapshotOptions): AppModelType | undefined;
exists(): this is QueryDocumentSnapshot<AppModelType, DbModelType>;
get(fieldPath: string | FieldPath, options?: SnapshotOptions): any;
}

§Type Parameters

§
AppModelType = DocumentData
[src]
§
DbModelType extends DocumentData = DocumentData
[src]

§Constructors

§
new DocumentSnapshot() protected
[src]

§Properties

§
id: string readonly
[src]

Property of the DocumentSnapshot that provides the document's ID.

§

Metadata about the DocumentSnapshot, including information about its source and local modifications.

§
ref: DocumentReference<AppModelType, DbModelType> readonly
[src]

The DocumentReference for the document included in the DocumentSnapshot.

§Methods

§
data(options?: SnapshotOptions): AppModelType | undefined
[src]

Retrieves all fields in the document as an Object. Returns undefined if the document doesn't exist.

By default, serverTimestamp() values that have not yet been set to their final value will be returned as null. You can override this by passing an options object.

@param options
  • An options object to configure how data is retrieved from the snapshot (for example the desired behavior for server timestamps that have not yet been set to their final value).
@return

An Object containing all fields in the document or undefined if the document doesn't exist.

§
exists(): this is QueryDocumentSnapshot<AppModelType, DbModelType>
[src]

Returns whether or not the data exists. True if the document exists.

§
get(fieldPath: string | FieldPath, options?: SnapshotOptions): any
[src]

Retrieves the field specified by fieldPath. Returns undefined if the document or field doesn't exist.

By default, a serverTimestamp() that has not yet been set to its final value will be returned as null. You can override this by passing an options object.

@param fieldPath
  • The path (for example 'foo' or 'foo.bar') to a specific field.
@param options
  • An options object to configure how the field is retrieved from the snapshot (for example the desired behavior for server timestamps that have not yet been set to their final value).
@return

The data at the specified field location or undefined if no such field exists in the document.