ホームページ >ウェブフロントエンド >jsチュートリアル >Cloud Firestore でサブコレクション名を取得するにはどうすればよいですか?

Cloud Firestore でサブコレクション名を取得するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-14 17:03:17994ブラウズ

How Can I Retrieve Subcollection Names in Cloud Firestore?

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 サイトの他の関連記事を参照してください。

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