new DocumentSnapshot()
A DocumentSnapshot is an immutable representation for a document in a Firestore database. The data can be extracted with data() or get(fieldPath) 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 property to explicitly verify a document's existence.
Members
createTime
The time the document was created. Undefined for documents that don't exist.
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then(documentSnapshot => { if (documentSnapshot.exists) { let createTime = documentSnapshot.createTime; console.log(`Document created at '${createTime.toDate()}'`); } }); ``` exists
True if the document exists.
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then((documentSnapshot) => { if (documentSnapshot.exists) { console.log(`Data: ${JSON.stringify(documentSnapshot.data())}`); } }); ``` id
The ID of the document for which this DocumentSnapshot contains data.
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then((documentSnapshot) => { if (documentSnapshot.exists) { console.log(`Document found with name '${documentSnapshot.id}'`); } }); ``` readTime
The time this snapshot was read.
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then(documentSnapshot => { let readTime = documentSnapshot.readTime; console.log(`Document read at '${readTime.toDate()}'`); }); ``` ref
A DocumentReference for the document stored in this snapshot.
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then((documentSnapshot) => { if (documentSnapshot.exists) { console.log(`Found document at '${documentSnapshot.ref.path}'`); } }); ``` updateTime
The time the document was last updated (at the time the snapshot was generated). Undefined for documents that don't exist.
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then(documentSnapshot => { if (documentSnapshot.exists) { let updateTime = documentSnapshot.updateTime; console.log(`Document updated at '${updateTime.toDate()}'`); } }); ``` Methods
data() → {T|undefined}
Retrieves all fields in the document as an object. Returns 'undefined' if the document doesn't exist.
Returns:
| Type | Description |
|---|---|
| T | undefined | An object containing all fields in the document or 'undefined' if the document doesn't exist. |
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.get().then(documentSnapshot => { let data = documentSnapshot.data(); console.log(`Retrieved data: ${JSON.stringify(data)}`); }); ``` get(field) → {*}
Retrieves the field specified by field.
Parameters:
| Name | Type | Description |
|---|---|---|
field | string | FieldPath | The field path (e.g. 'foo' or 'foo.bar') to a specific field. |
Returns:
| Type | Description |
|---|---|
| * | The data at the specified field location or undefined if no such field exists. |
Example
``` let documentRef = firestore.doc('col/doc'); documentRef.set({ a: { b: 'c' }}).then(() => { return documentRef.get(); }).then(documentSnapshot => { let field = documentSnapshot.get('a.b'); console.log(`Retrieved field value: ${field}`); }); ``` isEqual(other) → {boolean}
Returns true if the document's data and path in this DocumentSnapshot is equal to the provided value.
Parameters:
| Name | Type | Description |
|---|---|---|
other | * | The value to compare against. |
Returns:
| Type | Description |
|---|---|
| boolean | true if this |