ホームページ >ウェブフロントエンド >jsチュートリアル >1 回の往復で複数の Firestore ドキュメントを効率的にフェッチするにはどうすればよいですか?
Firestore のパフォーマンス: 1 回のラウンドトリップで複数のドキュメントを効率的に取得する
Firestore を使用する場合、複数のドキュメントの取得がパフォーマンスの問題になる可能性があります。特にドキュメントごとに個別のリクエストを行う場合はそうです。データの取得を最適化するには、データベースとの 1 回の往復で複数のドキュメントをフェッチできる機能を活用することが不可欠です。
getAll() メソッドの使用
Node.js で記述されたサーバー側アプリケーションの場合、 getAll() メソッドは、1 回のネットワーク呼び出しで複数のドキュメントを取得する便利な方法を提供します。可変数の DocumentReference オブジェクトを引数として受け入れ、DocumentSnapshot オブジェクトの配列を含む Promise を返します。
例:
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])}`); });
IN クエリ効率的なドキュメント取得
Firestore が最近導入されましたIN クエリ。指定された ID によって複数のドキュメントをフェッチするより効率的な方法を提供します。 FieldPath.documentId() および 'in' 演算子を使用すると、ID のリストに基づいてドキュメントを返すクエリを構築できます。
例:
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}`); }); });
結論:
getAll() メソッドを利用するか、 IN クエリを使用すると、開発者は Firestore データ取得操作を最適化し、データベースへの往復回数を減らすことができます。このアプローチにより、特に複数のドキュメントを取得する場合や複雑なクエリを実行する場合に、アプリケーションのパフォーマンスと応答性が向上します。
以上が1 回の往復で複数の Firestore ドキュメントを効率的にフェッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。