ホームページ >ウェブフロントエンド >jsチュートリアル >単一のリクエストで ID に基づいて複数の Firestore ドキュメントを効率的に取得するにはどうすればよいですか?

単一のリクエストで ID に基づいて複数の Firestore ドキュメントを効率的に取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-10 19:45:22782ブラウズ

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

Google Firestore を使用して 1 回のリクエストで ID に基づいて複数のドキュメントを取得する方法

1 回のリクエストで ID に基づいて複数のドキュメントを効率的に取得するにはネットワーク呼び出しについては、次の点を考慮してください。アプローチ:

Node.js:

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

目的の DocumentReference オブジェクトを渡して getAll() を呼び出します:

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 (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 クエリ:

Firestore が IN クエリをサポートするようになり、ID のリストでフィルタリングされたドキュメントを効率的に取得できるようになりました。

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

以上が単一のリクエストで ID に基づいて複数の Firestore ドキュメントを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。