Datenbank

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}