Base de données (étape d'entrée)

Description

Renvoie tous les documents d'une base de données dans différentes collections et différents niveaux imbriqués.

Exemples

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
Android
// Count all documents in the database
val results = db.pipeline()
    .database()
    .aggregate(AggregateFunction.countAll().alias("total"))
    .execute()
Java
Android
      // 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();

Comportement

Pour utiliser l'étape database(...), elle doit apparaître comme la première étape du pipeline.

L'ordre des documents renvoyés par l'étape database(...) est instable et ne peut pas être utilisé. Une étape sort(...) ultérieure peut être utilisée pour obtenir un ordre déterministe.

Par exemple, pour les documents suivants :

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});

L'étape database(...) peut être utilisée pour récupérer tous les documents de la base de données.

Node.js

const results = await db.pipeline()
  .database()
  .sort(field("population").ascending())
  .execute();

Cette requête génère les documents suivants :

  { name: "San Francsico", state: "California", population: 800000 }
  { name: "California", population: 39000000 }
  { name: "United States of America", population: 340000000 }