Database

Description

Returns all the documents within a database across different collections and nested levels.

Syntax

Node.js

  const 
  
 results 
  
 = 
  
 await 
  
 db 
 . 
 pipeline 
 () 
  
 . 
 database 
 () 
  
 . 
 execute 
 (); 
 

Client examples

Web

 // Count all documents in the database 
 const 
  
 results 
  
 = 
  
 await 
  
 execute 
 ( 
 db 
 . 
 pipeline 
 () 
  
 . 
 database 
 () 
  
 . 
 aggregate 
 ( 
 countAll 
 (). 
 as 
 ( 
 "total" 
 )) 
  
 ); 
  
Swift
 // Count all documents in the database 
 let 
  
 results 
  
 = 
  
 try 
  
 await 
  
 db 
 . 
 pipeline 
 () 
  
 . 
 database 
 () 
  
 . 
 aggregate 
 ([ 
 CountAll 
 (). 
 as 
 ( 
 "total" 
 )]) 
  
 . 
 execute 
 () 
  

Kotlin

 // Count all documents in the database 
 val 
  
 results 
  
 = 
  
 db 
 . 
 pipeline 
 () 
  
 . 
 database 
 () 
  
 . 
 aggregate 
 ( 
 AggregateFunction 
 . 
 countAll 
 (). 
 alias 
 ( 
 "total" 
 )) 
  
 . 
 execute 
 () 
  

Java

 // Count all documents in the database 
 Task<Pipeline 
 . 
 Snapshot 
>  
 results 
  
 = 
  
 db 
 . 
 pipeline 
 () 
  
 . 
 database 
 () 
  
 . 
 aggregate 
 ( 
 AggregateFunction 
 . 
 countAll 
 (). 
 alias 
 ( 
 "total" 
 )) 
  
 . 
 execute 
 (); 
  
Python
 from 
  
 google.cloud.firestore_v1.pipeline_expressions 
  
 import 
 Count 
 # Count all documents in the database 
 results 
 = 
 client 
 . 
 pipeline 
 () 
 . 
 database 
 () 
 . 
 aggregate 
 ( 
 Count 
 () 
 . 
 as_ 
 ( 
 "total" 
 )) 
 . 
 execute 
 () 
  
Java
 // Count all documents in the database 
 Pipeline 
 . 
 Snapshot 
  
 results 
  
 = 
  
 firestore 
 . 
 pipeline 
 (). 
 database 
 (). 
 aggregate 
 ( 
 countAll 
 (). 
 as 
 ( 
 "total" 
 )). 
 execut  
 
 (). 
 get 
 (); 
 PipelineSni 
ppets . java

Behavior

In order to use the database stage, it must appear as the first stage in the pipeline.

The order of documents returned from the database stage is unstable and shouldn't be relied upon. A subsequent sort stage can be used to obtain a deterministic ordering.

For example, for the following documents:

Node.js

  await 
  
 db 
 . 
 collection 
 ( 
 'cities' 
 ). 
 doc 
 ( 
 'SF' 
 ). 
 set 
 ({ 
 name 
 : 
  
 'San Francsico' 
 , 
  
 state 
 : 
  
 'California' 
 , 
  
 population 
 : 
  
 800000 
 }); 
 await 
  
 db 
 . 
 collection 
 ( 
 'states' 
 ). 
 doc 
 ( 
 'CA' 
 ). 
 set 
 ({ 
 name 
 : 
  
 'California' 
 , 
  
 population 
 : 
  
 39000000 
 }); 
 await 
  
 db 
 . 
 collection 
 ( 
 'countries' 
 ). 
 doc 
 ( 
 'US 
 
A' ). 
 set 
 ({ 
 name 
 : 
  
 'United States of America' 
 , 
  
 population 
 : 
  
 340000000 
 }); 

The database stage can be used to retrieve all the documents in the database.

Node.js

  const 
  
 results 
  
 = 
  
 await 
  
 db 
 . 
 pipeline 
 () 
  
 . 
 database 
 () 
  
 . 
 sort 
 ( 
 field 
 ( 
 'population' 
 ). 
 ascending 
 ()) 
  
 . 
 exe 
 
cute (); 

This query produces the following documents:

   
 { 
 name 
 : 
  
 'San Francsico' 
 , 
  
 state 
 : 
  
 'California' 
 , 
  
 population 
 : 
  
 800000 
 } 
  
 { 
 name 
 : 
  
 'California' 
 , 
  
 population 
 : 
  
 39000000 
 } 
  
 { 
 name 
 : 
  
 'United States of Ameri 
 
ca' , 
  
 population 
 : 
  
 340000000 
 } 
Create a Mobile Website
View Site in Mobile | Classic
Share by: