Maison >interface Web >js tutoriel >Comment puis-je récupérer efficacement plusieurs documents Firestore avec un seul appel réseau ?

Comment puis-je récupérer efficacement plusieurs documents Firestore avec un seul appel réseau ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-09 15:57:15542parcourir

How Can I Efficiently Retrieve Multiple Firestore Documents with a Single Network Call?

Récupération de plusieurs documents dans Firestore avec un seul appel réseau

Firestore fournit une méthode efficace pour récupérer plusieurs documents avec un seul aller-retour. Cela peut considérablement optimiser les performances lors du traitement d'un grand nombre de récupérations de documents.

Approche Node.js

Dans Node.js, vous pouvez utiliser la méthode getAll() pour récupérer plusieurs documents :

const {Firestore} = require('@google-cloud/firestore');

const firestore = new Firestore();

const documentRefs = [
  firestore.doc('col/doc1'),
  firestore.doc('col/doc2'),
];

firestore.getAll(...documentRefs).then(docs => {
  docs.forEach(doc => {
    console.log(`Document: ${doc.id}, Data: ${JSON.stringify(doc.data())}`);
  });
});

Cette méthode renvoie une promesse qui se résout en un tableau contenant le document résultant instantanés.

Prise en charge des requêtes IN

Cloud Firestore prend désormais en charge les requêtes IN, ce qui constitue un autre moyen efficace de récupérer plusieurs documents :

const inClause = firestore.FieldPath.documentId(), 'in', ["123", "456", "789"];

const query = firestore.collection('myCollection').where(inClause);
const docs = await query.get();

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn