Class DocumentSnapshot (7.11.0)

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.

DocumentSnapshot

Package

@google-cloud/firestore

Remarks

The constructor for this class is marked as internal. Third-party code should not call the constructor directly or create subclasses that extend the DocumentSnapshot class.

Properties

createTime

  get 
  
 createTime 
 () 
 : 
  
 Timestamp 
  
 | 
  
 undefined 
 ; 
 

The time the document was created. Undefined for documents that don't exist.

{Timestamp|undefined} DocumentSnapshot#createTime

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

  get 
  
 exists 
 () 
 : 
  
 boolean 
 ; 
 

True if the document exists.

{boolean} DocumentSnapshot#exists

Example
  let 
  
 documentRef 
  
 = 
  
 firestore 
 . 
 doc 
 ( 
 'col/doc' 
 ); 
 documentRef 
 . 
 get 
 (). 
 then 
 (( 
 documentSnapshot 
 ) 
  
 = 
>  
 { 
  
 if 
  
 ( 
 documentSnapshot 
 . 
 exists 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 `Data: 
 ${ 
 JSON 
 . 
 stringify 
 ( 
 documentSnapshot 
 . 
 data 
 ()) 
 } 
 ` 
 ); 
  
 } 
 }); 
 

id

  get 
  
 id 
 () 
 : 
  
 string 
 ; 
 

The ID of the document for which this DocumentSnapshot contains data.

{string} DocumentSnapshot#id

Example
  let 
  
 documentRef 
  
 = 
  
 firestore 
 . 
 doc 
 ( 
 'col/doc' 
 ); 
 documentRef 
 . 
 get 
 (). 
 then 
 (( 
 documentSnapshot 
 ) 
  
 = 
>  
 { 
  
 if 
  
 ( 
 documentSnapshot 
 . 
 exists 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 `Document found with name ' 
 ${ 
 documentSnapshot 
 . 
 id 
 } 
 '` 
 ); 
  
 } 
 }); 
 

readTime

  get 
  
 readTime 
 () 
 : 
  
 Timestamp 
 ; 
 

The time this snapshot was read.

{Timestamp} DocumentSnapshot#readTime

Example
  let 
  
 documentRef 
  
 = 
  
 firestore 
 . 
 doc 
 ( 
 'col/doc' 
 ); 
 documentRef 
 . 
 get 
 (). 
 then 
 ( 
 documentSnapshot 
  
 = 
>  
 { 
  
 let 
  
 readTime 
  
 = 
  
 documentSnapshot 
 . 
 readTime 
 ; 
  
 console 
 . 
 log 
 ( 
 `Document read at ' 
 ${ 
 readTime 
 . 
 toDate 
 () 
 } 
 '` 
 ); 
 }); 
 

ref

  get 
  
 ref 
 () 
 : 
  
 DocumentReference<AppModelType 
 , 
  
 DbModelType 
> ; 
 

A [DocumentReference] DocumentReference for the document stored in this snapshot.

{DocumentReference} DocumentSnapshot#ref

Example
  let 
  
 documentRef 
  
 = 
  
 firestore 
 . 
 doc 
 ( 
 'col/doc' 
 ); 
 documentRef 
 . 
 get 
 (). 
 then 
 (( 
 documentSnapshot 
 ) 
  
 = 
>  
 { 
  
 if 
  
 ( 
 documentSnapshot 
 . 
 exists 
 ) 
  
 { 
  
 console 
 . 
 log 
 ( 
 `Found document at ' 
 ${ 
 documentSnapshot 
 . 
 ref 
 . 
 path 
 } 
 '` 
 ); 
  
 } 
 }); 
 

updateTime

  get 
  
 updateTime 
 () 
 : 
  
 Timestamp 
  
 | 
  
 undefined 
 ; 
 

The time the document was last updated (at the time the snapshot was generated). Undefined for documents that don't exist.

{Timestamp|undefined} DocumentSnapshot#updateTime

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()

  data 
 () 
 : 
  
 AppModelType 
  
 | 
  
 undefined 
 ; 
 

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

Returns
Type
Description
AppModelType | undefined

{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)

  get 
 ( 
 field 
 : 
  
 string 
  
 | 
  
 FieldPath 
 ) 
 : 
  
 any 
 ; 
 

Retrieves the field specified by field .

Parameter
Name
Description
field
string | FieldPath

The field path (e.g. 'foo' or 'foo.bar') to a specific field.

Returns
Type
Description
any

{*} 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)

  isEqual 
 ( 
 other 
 : 
  
 firestore 
 . 
 DocumentSnapshot<AppModelType 
 , 
  
 DbModelType 
> ) 
 : 
  
 boolean 
 ; 
 

Returns true if the document's data and path in this DocumentSnapshot is equal to the provided value.

Parameter
Name
Description
other
FirebaseFirestore.DocumentSnapshot <AppModelType, DbModelType>

The value to compare against. {boolean} true if this DocumentSnapshot is equal to the provided value.

Returns
Type
Description
boolean
Design a Mobile Site
View Site in Mobile | Classic
Share by: