Heim > Web-Frontend > js-Tutorial > Wie kann ich mehrere Firestore-Dokumente in einem einzigen Roundtrip effizient abrufen?

Wie kann ich mehrere Firestore-Dokumente in einem einzigen Roundtrip effizient abrufen?

Linda Hamilton
Freigeben: 2024-12-13 07:18:12
Original
243 Leute haben es durchsucht

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

Firestore-Leistung: Effizientes Abrufen mehrerer Dokumente mit einem einzigen Roundtrip

Bei der Arbeit mit Firestore kann das Abrufen mehrerer Dokumente zu Leistungsproblemen werden. insbesondere, wenn für jedes Dokument individuelle Anfragen gestellt werden. Um den Datenabruf zu optimieren, ist es wichtig, eine Funktion zu nutzen, die das Abrufen mehrerer Dokumente mit einem einzigen Roundtrip zur Datenbank ermöglicht.

Verwendung der getAll()-Methode

Für in Node.js geschriebene serverseitige Anwendungen bietet die Methode getAll() eine praktische Möglichkeit, mehrere Dokumente mit einem einzigen Netzwerkaufruf abzurufen. Es akzeptiert eine variable Anzahl von DocumentReference-Objekten als Argumente und gibt ein Promise zurück, das ein Array von DocumentSnapshot-Objekten enthält.

Beispiel:

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])}`);
});
Nach dem Login kopieren

IN Abfragen für Effizienter Dokumentenabruf

Firestore hat kürzlich IN-Abfragen eingeführt, die eine effizientere Lösung ermöglichen Möglichkeit, mehrere Dokumente anhand bestimmter IDs abzurufen. Mithilfe der FieldPath.documentId()- und „in“-Operatoren können Sie Abfragen erstellen, die Dokumente basierend auf einer Liste von IDs zurückgeben.

Beispiel:

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}`);
  });
});
Nach dem Login kopieren

Fazit:

Durch die Verwendung der getAll()-Methode oder IN-Abfragen können Entwickler ihre Firestore-Daten optimieren Abrufvorgänge und reduzieren die Anzahl der Roundtrips zur Datenbank. Dieser Ansatz verbessert die Leistung und Reaktionsfähigkeit von Anwendungen, insbesondere beim Abrufen mehrerer Dokumente oder beim Durchführen komplexer Abfragen.

Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Firestore-Dokumente in einem einzigen Roundtrip effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage