ホームページ >ウェブフロントエンド >jsチュートリアル >1 回のネットワーク呼び出しで複数の Firestore ドキュメントを効率的に取得するにはどうすればよいですか?

1 回のネットワーク呼び出しで複数の Firestore ドキュメントを効率的に取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-09 15:57:15543ブラウズ

How Can I Efficiently Retrieve Multiple Firestore Documents with a Single Network Call?

単一のネットワーク呼び出しによる Firestore での複数のドキュメントの取得

Firestore は、1 回の往復で複数のドキュメントを取得する効率的な方法を提供します。これにより、大量のドキュメントのフェッチを処理する際のパフォーマンスを大幅に最適化できます。

Node.js のアプローチ

Node.js では、getAll() メソッドを使用できます。複数のドキュメントを取得するには:

const {Firestore} = require('@google-cloud/firestore');

const firestore = new Firestore();

const documentRefs = [
  firestore.doc('col/doc1'),
  firestore.doc('col/doc2'),
];

firestore.getAll(...documentRefs).then(docs => {
  docs.forEach(doc => {
    console.log(`Document: ${doc.id}, Data: ${JSON.stringify(doc.data())}`);
  });
});

このメソッドは、結果のドキュメントを含む配列に解決される Promise を返します。

In クエリのサポート

Cloud Firestore は IN クエリをサポートするようになりました。これにより、複数のドキュメントを取得する別の効率的な方法が提供されます:

const inClause = firestore.FieldPath.documentId(), 'in', ["123", "456", "789"];

const query = firestore.collection('myCollection').where(inClause);
const docs = await query.get();

以上が1 回のネットワーク呼び出しで複数の Firestore ドキュメントを効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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