Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mendapatkan Berbilang Dokumen Firestore dengan Cekap dengan ID dalam Permintaan Tunggal?

Bagaimana untuk Mendapatkan Berbilang Dokumen Firestore dengan Cekap dengan ID dalam Permintaan Tunggal?

Linda Hamilton
Linda Hamiltonasal
2024-12-10 19:45:22780semak imbas

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

Cara Mendapatkan Berbilang Dokumen mengikut ID dalam Permintaan Tunggal dengan Google Firestore

Untuk mendapatkan semula berbilang dokumen dengan cekap berdasarkan ID mereka dalam satu panggilan rangkaian, pertimbangkan perkara berikut pendekatan:

Node.js:

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

Panggil getAll() yang menghantar objek DocumentReference yang dikehendaki:

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])}`);
});

SDK pelayan (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 Queries:

Firestore kini menyokong pertanyaan IN, membolehkan anda mendapatkan semula dokumen yang ditapis mengikut senarai ID dengan cekap:

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

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Berbilang Dokumen Firestore dengan Cekap dengan ID dalam Permintaan Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn