Heim >Web-Frontend >js-Tutorial >Wie kann ich in einer einzigen Anfrage effizient mehrere Firestore-Dokumente nach ID abrufen?

Wie kann ich in einer einzigen Anfrage effizient mehrere Firestore-Dokumente nach ID abrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-10 19:45:22782Durchsuche

How to Efficiently Retrieve Multiple Firestore Documents by ID in a Single Request?

So rufen Sie mehrere Dokumente anhand ihrer IDs in einer einzigen Anfrage mit Google Firestore ab

Um mehrere Dokumente basierend auf ihren IDs in einer einzigen Anfrage effizient abzurufen Beachten Sie bei einem Netzwerkaufruf Folgendes Ansätze:

Node.js:

const getAll = (...documents) =>
  Promise.all(documents.map(doc => doc.get()));

Rufen Sie getAll() auf und übergeben Sie die gewünschten DocumentReference-Objekte:

let documentRef1 = firestore.doc('col/doc1');
let documentRef2 = firestore.doc('col/doc2');

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

Server SDK (Python):

def get_all(client, *docs):
  return client.get_all(docs)

docs = (
    db.collection(u'users').document(u'alovelace'),
    db.collection(u'users').document(u'aturing'),
    db.collection(u'users').document(u'hopper'),
)
docs_iterator = get_all(client, *docs)

IN Abfragen:

Firestore unterstützt jetzt IN-Abfragen, sodass Sie nach einer Liste von IDs gefilterte Dokumente effizient abrufen können:

myCollection.where(firestore.FieldPath.documentId(), 'in', ["123", "456", "789"])

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

Stellungnahme:
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