Cloud Firestore でのサブコレクション名の検索
Cloud Firestore では、多くの場合、データをドキュメントとサブコレクションの階層に整理します。サブコレクション名の取得は、このデータ構造をナビゲートするために不可欠です。
問題:
ドキュメント内からサブコレクション名を取得することは直感的に思えるかもしれませんが、モバイルや Web では不可能です。クライアントSDK。 get() でドキュメントをフェッチすると、フィールド値のみが返され、ネストされたコレクション名は返されません。
理由:
Firestore のクライアント SDK はセキュリティとパフォーマンスを優先します。 。サブコレクション名を公開すると、潜在的な脆弱性が生じ、パフォーマンスに影響を与える可能性があります。
サーバー側 SDK のソリューション:
Node.js およびその他のサーバー側 SDK では、次のアクセスが可能です。 Collection.listCollectionIds() メソッドを使用してサブコレクション名を取得します。このメソッドは、ドキュメント内のサブコレクション名を取得する安全かつ効率的な方法を提供します。
例:
const firestore = require('firestore.v1beta1'); const client = firestore.v1beta1({ // optional auth parameters. }); const formattedParent = client.anyPathPath("PROJECT", "DATABASE", "DOCUMENT", "ANY_PATH"); client.listCollectionIds({parent: formattedParent}).then((responses) => { const resources = responses[0]; for (var i = 0; i < resources.length; ++i) { // doThingsWith(resources[i]) } }) .catch((err) => { console.error(err); });
このソリューションは、サブコレクションを取得する安全かつ効率的な方法を提供します。サーバー側環境での名前。モバイルおよび Web クライアントの場合は、代替データ構造を検討するか、サブコレクション名を慎重に管理する必要がある場合があります。
以上がCloud Firestore でサブコレクション名を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。