Beschreibung
Gibt alle Dokumente in einer Datenbank über verschiedene Sammlungen und verschachtelte Ebenen hinweg zurück.
Syntax
Node.js
const results = await db.pipeline()
.database()
.execute();
Clientbeispiele
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")).execute().get();
Verhalten
Damit die Phase database verwendet werden kann, muss sie als erste Phase in der Pipeline erscheinen.
Die Reihenfolge der Dokumente, die von der Phase database zurückgegeben werden, ist nicht stabil und sollte nicht berücksichtigt werden. Eine nachfolgende Sortierphase kann verwendet werden, um eine deterministische Reihenfolge zu erhalten.
Beispiel für die folgenden Dokumente:
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('USA').set({name: 'United States of America', population: 340000000});
Mit der Phase database können alle Dokumente in der Datenbank abgerufen werden.
Node.js
const results = await db.pipeline()
.database()
.sort(field('population').ascending())
.execute();
Diese Abfrage erzeugt die folgenden Dokumente:
{name: 'San Francsico', state: 'California', population: 800000}
{name: 'California', population: 39000000}
{name: 'United States of America', population: 340000000}