QuerySnapshot
Constructor
QuerySnapshot
new QuerySnapshot()
A QuerySnapshot contains zero or more 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.
Properties
docs
Array of QueryDocumentSnapshot
An array of all the documents in this QuerySnapshot.
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
boolean
True if there are no documents in the QuerySnapshot.
Example
let query = firestore.collection('col').where('foo', '==', 'bar');
query.get().then(querySnapshot => {
if (querySnapshot.empty) {
console.log('No documents found.');
}
});
query
The query on which you called get() or onSnapshot() in order to get this QuerySnapshot.
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
The time this query snapshot was obtained.
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
number
The number of documents in the QuerySnapshot.
Example
let query = firestore.collection('col').where('foo', '==', 'bar');
query.get().then(querySnapshot => {
console.log(`Found ${querySnapshot.size} documents.`);
});
Methods
docChanges
docChanges() returns Array of DocumentChange
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.
- Returns
-
Array of DocumentChange
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
forEach(callback, thisArg)
Enumerates all of the documents in the QuerySnapshot.
Parameter |
|
---|---|
callback |
function() A callback to be called with a QueryDocumentSnapshot for each document in the snapshot. |
thisArg |
Optional any type The |
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
isEqual(other) returns boolean
Returns true if the document data in this QuerySnapshot
is equal to the provided value.
Parameter |
|
---|---|
other |
any type The value to compare against. |
- Returns
-
boolean
true if this
QuerySnapshot
is equal to the provided value.