Base de données

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

// 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();
Accéder
// Count all documents in the database
snapshot := client.Pipeline().
	Database().
	Aggregate(firestore.Accumulators(firestore.CountAll().As("total"))).
	Execute(ctx)

Comportement

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

L'ordre des documents renvoyés à partir de l'étape database(...) est instable et ne peut pas être considéré comme fiable. 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 }