Class QuerySnapshot (4.15.1)

A QuerySnapshot contains zero or more [QueryDocumentSnapshot] QueryDocumentSnapshot objects representing the results of a query. The documents can be accessed as an array via the [documents] property or enumerated using the [forEach] method. The number of documents can be determined via the [empty] and [size] properties.

QuerySnapshot

Package

@google-cloud/firestore

Constructors

(constructor)(_query, _readTime, _size, docs, changes)

  constructor 
 ( 
 _query 
 : 
  
 Query<T> 
 , 
  
 _readTime 
 : 
  
 Timestamp 
 , 
  
 _size 
 : 
  
 number 
 , 
  
 docs 
 : 
  
 () 
  
 = 
>  
 Array<QueryDocumentSnapshot<T> 
> , 
  
 changes 
 : 
  
 () 
  
 = 
>  
 Array<DocumentChange<T> 
> ); 
 

Constructs a new instance of the QuerySnapshot class

Parameters
Name Description
_query Query <T>

The originating query.

_readTime Timestamp

The time when this query snapshot was obtained.

_size number

The number of documents in the result set.

docs () => Array < QueryDocumentSnapshot <T>>

A callback returning a sorted array of documents matching this query

changes () => Array < DocumentChange <T>>

A callback returning a sorted array of document change events for this snapshot.

Properties

docs

  get 
  
 docs 
 () 
 : 
  
 Array<QueryDocumentSnapshot<T> 
> ; 
 

An array of all the documents in this QuerySnapshot.

{Array.

Property Value
Type Description
Array < QueryDocumentSnapshot <T>>
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.get().then(querySnapshot => { let docs = querySnapshot.docs; for (let doc of docs) { console.log( Document found at path: ${doc.ref.path} ); } });

empty

  get 
  
 empty 
 () 
 : 
  
 boolean 
 ; 
 

True if there are no documents in the QuerySnapshot.

{boolean} QuerySnapshot#empty

Property Value
Type Description
boolean
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.get().then(querySnapshot => { if (querySnapshot.empty) { console.log('No documents found.'); } });

query

  get 
  
 query 
 () 
 : 
  
 Query<T> 
 ; 
 

The query on which you called get() or onSnapshot() in order to get this QuerySnapshot.

{Query} QuerySnapshot#query

Property Value
Type Description
Query <T>
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.limit(10).get().then(querySnapshot => { console.log( Returned first batch of results ); let query = querySnapshot.query; return query.offset(10).get(); }).then(() => { console.log( Returned second batch of results ); });

readTime

  get 
  
 readTime 
 () 
 : 
  
 Timestamp 
 ; 
 

The time this query snapshot was obtained.

{Timestamp} QuerySnapshot#readTime

Property Value
Type Description
Timestamp
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.get().then((querySnapshot) => { let readTime = querySnapshot.readTime; console.log( Query results returned at '${readTime.toDate()}' ); });

size

  get 
  
 size 
 () 
 : 
  
 number 
 ; 
 

The number of documents in the QuerySnapshot.

{number} QuerySnapshot#size

Property Value
Type Description
number
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.get().then(querySnapshot => { console.log( Found ${querySnapshot.size} documents. ); });

Methods

docChanges()

  docChanges 
 () 
 : 
  
 Array<DocumentChange<T> 
> ; 
 

Returns an array of the documents changes since the last snapshot. If this is the first snapshot, all documents will be in the list as added changes.

{Array.

Returns
Type Description
Array < DocumentChange <T>>
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.onSnapshot(querySnapshot => { let changes = querySnapshot.docChanges(); for (let change of changes) { console.log( A document was ${change.type}. ); } });

forEach(callback, thisArg)

  forEach 
 ( 
 callback 
 : 
  
 ( 
 result 
 : 
  
 firestore 
 . 
 QueryDocumentSnapshot<T> 
 ) 
  
 = 
>  
 void 
 , 
  
 thisArg 
 ?: 
  
 unknown 
 ) 
 : 
  
 void 
 ; 
 

Enumerates all of the documents in the QuerySnapshot. This is a convenience method for running the same callback on each QueryDocumentSnapshot that is returned.

Parameters
Name Description
callback (result: FirebaseFirestore.QueryDocumentSnapshot <T>) => void

A callback to be called with a [QueryDocumentSnapshot] QueryDocumentSnapshot for each document in the snapshot.

thisArg unknown

The this binding for the callback..

Returns
Type Description
void
Example

let query = firestore.collection('col').where('foo', '==', 'bar');

query.get().then(querySnapshot => { querySnapshot.forEach(documentSnapshot => { console.log( Document found at path: ${documentSnapshot.ref.path} ); }); });

isEqual(other)

  isEqual 
 ( 
 other 
 : 
  
 firestore 
 . 
 QuerySnapshot<T> 
 ) 
 : 
  
 boolean 
 ; 
 

Returns true if the document data in this QuerySnapshot is equal to the provided value.

Parameter
Name Description
other FirebaseFirestore.QuerySnapshot <T>

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

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