Cloud Firestore に保存されている階層データを操作する場合、サブコレクションを使用するとドキュメント内のデータを整理できます。ただし、クライアント側 SDK を使用してこれらのサブコレクションのリストを取得するのは困難であることが判明する可能性があります。
Firestore のドキュメントには、サブコレクションを含むコレクションのリストの取得が Web またはモバイル クライアント ライブラリでサポートされていないと明示的に記載されています。この制限は、機密データを保護し、意図しないアクセスを防ぐために存在します。
クライアント側の制限:
クライアント側 SDK では、get() を使用してドキュメントを取得するときに、そのドキュメントの直接フィールドのみが使用可能になります。サブコレクション名はドキュメント データには含まれません。
サーバー側ソリューション:
一方、サーバー側 SDK は、コレクション ID をリストするメソッドを提供します。 。たとえば、Node.js では、firestore.v1beta1.ListCollectionIds メソッドにより、指定されたドキュメント パスからサブコレクション名を取得する方法が提供されます。このメソッドはドキュメント パスを引数として受け取り、サブコレクション名を含むコレクション ID の配列を返します。
代替データ構造:
サブコレクション名へのアクセスが必須の場合アプリケーションを使用する場合は、予測可能なサブコレクション名を活用するようにデータを再構築することを検討してください。このアプローチにより、サブコレクション リストの動的取得に依存する必要がなくなります。
結論として、現時点ではクライアント側 SDK を使用して Firestore ドキュメント内のサブコレクションをリストすることは現実的ではありませんが、サーバー側 SDK は信頼できる環境に代替ソリューションを提供します。そのような機能が必要です。
以上がCloud Firestore ドキュメント内のサブコレクションを一覧表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。