MongoDB 互換の Cloud Firestore Enterprise エディションが利用可能になりました。
詳細
  
         
     
  
  
  
  
  
    
  
  
    
      データ構造の選択
    
    
      
    
    
      
      コレクションでコンテンツを整理
    
    
      
      必要に応じて、コンテンツの保存と分類を行います。
    
  
  
      
    
  
  
  
  
  
  
    
    
    
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
  
Cloud Firestore でのデータの構造化には、いくつかのオプションがあります。
  - ドキュメント
- 複数のコレクション
- ドキュメント内のサブコレクション
各オプションの利点を考慮して使用ください。このガイドでは、階層データの構造の例をいくつか紹介しています。
ドキュメント内のネストデータ
ドキュメント内に配列やマップなどの複雑なオブジェクトをネストできます。
| 
利点: ドキュメント内に単純な固定データリストを保持するような場合に、データ構造の設定と効率化を簡単に実現できます。
制限事項: 特に、データが時間の経過とともに拡大する場合は、他のオプションのようなスケーラビリティはありません。リストが大きくなったり、増加したりすると、ドキュメントも大きくなり、検索時間が遅くなる可能性があります。適用可能なユースケース: チャットアプリで、ユーザーが最近閲覧した 3 つのチャットルームを、ネストされたリストとしてプロフィールに保存する。 | class alovelace
     name :first : "Ada"
 last : "Lovelace"
 born : 1815
 rooms :
 0 : "Software Chat"
 1 : "Famous Figures"
 2 : "Famous SWEs"
 
 | 
サブコレクション
データが時間とともに増加する可能性がある場合、ドキュメント内にコレクションを作成できます。
| 
利点: リストが大きくなっても、親ドキュメントのサイズが変わりません。サブコレクションに対しても、すべてのクエリ機能を使用でき、複数のサブコレクションにまたがるコレクション グループ クエリを発行できます。制限事項: サブコレクションを簡単に削除することはできません。適用可能なユースケース: 同じチャットアプリで、ユーザーやメッセージのデータをチャットルームのドキュメント内のコレクションとして作成する。 | 
collections_bookmark science
class softwarename : "software chat"
 collections_bookmark
        users
class
            alovelacefirst : "Ada"
 last : "Lovelace"
 
class
            sridefirst : "Sally"
 last : "Ride"`
 
 
class astrophysics
        
 | 
ルートレベルのコレクション
性質の異なるデータセットをまとめるには、データベースのルートレベルでコレクションを作成します。
| 
利点: ルートレベルのコレクションは、多対多の関係に適しており、各コレクション内で強力なクエリを実行できます。制限: データが階層的になっていることから、データベースが拡大するにつれ、データの取得が難しくなる可能性があります。適用可能なユースケース: 同じチャットアプリで、ユーザー用に 1 つ、チャットルームとメッセージ用に 1 つそれぞれコレクションを作成する。 |  collections_bookmark
    users
 class alovelacefirst : "Ada"
 last : "Lovelace"
 born : 1815
 
class sridefirst : "Sally"
 last : "Ride"
 born : 1951
 
collections_bookmark rooms
class software
collections_bookmark
        messages
class
            message1from : "alovelace"
 content : "..."
 
class
            message2from : "sride"
 content : "..."
 
 | 
  
  
  
    
  
 
  
    
    
      
    
    
  
       
         
  
       
    
    
  
  
  特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
  最終更新日 2025-10-31 UTC。
  
  
    
    
    
      
  
    
  
  
    
      [[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-10-31 UTC。"],[],[]]