Maison >interface Web >js tutoriel >Comment puis-je récupérer efficacement plusieurs documents Firestore en un seul aller-retour ?

Comment puis-je récupérer efficacement plusieurs documents Firestore en un seul aller-retour ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-13 07:18:12239parcourir

How Can I Efficiently Fetch Multiple Firestore Documents in a Single Round Trip?

Performances de Firestore : récupérer efficacement plusieurs documents avec un seul aller-retour

Lorsque vous travaillez avec Firestore, la récupération de plusieurs documents peut devenir un problème de performances, surtout si cela se fait avec des demandes individuelles pour chaque document. Pour optimiser la récupération des données, il est essentiel d'exploiter une fonctionnalité permettant de récupérer plusieurs documents en un seul aller-retour vers la base de données.

Utilisation de la méthode getAll()

Pour les applications côté serveur écrites en Node.js, la méthode getAll() constitue un moyen pratique de récupérer plusieurs documents avec un seul appel réseau. Il accepte un nombre variable d'objets DocumentReference comme arguments et renvoie une promesse contenant un tableau d'objets DocumentSnapshot.

Exemple :

const firestore = getFirestore();
const docRef1 = firestore.doc('col/doc1');
const docRef2 = firestore.doc('col/doc2');

firestore.getAll(docRef1, docRef2).then(docs => {
  console.log(`First document: ${JSON.stringify(docs[0])}`);
  console.log(`Second document: ${JSON.stringify(docs[1])}`);
});

IN Requêtes pour Récupération efficace de documents

Firestore a récemment introduit les requêtes IN, qui offrent un moyen plus efficace pour récupérer plusieurs documents par identifiants spécifiés. En utilisant les opérateurs FieldPath.documentId() et 'in', vous pouvez créer des requêtes qui renvoient des documents en fonction d'une liste d'ID.

Exemple :

const firestore = getFirestore();
const query = firestore.collection('col').where(firestore.FieldPath.documentId(), 'in', ["123", "456", "789"]);

query.get().then(docs => {
  docs.forEach(doc => {
    console.log(`Retrieved document with ID: ${doc.id}`);
  });
});

Conclusion :

En utilisant la méthode getAll() ou les requêtes IN, les développeurs peuvent optimiser leur Opérations de récupération de données Firestore et réduction du nombre d'allers-retours vers la base de données. Cette approche améliore les performances et la réactivité des applications, notamment lors de la récupération de plusieurs documents ou de l'exécution de requêtes complexes.

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