首页 > 解决方案 > 扩展 Firestore 结构

问题描述

我不确定我应该如何构建我的 Firestore 数据库,以便它可以安全地扩展。总体结构是项目数量相对较少,但每个项目可以有数千个子项目。将子项目构建为每个项目的子集合更好,还是应该在根目录中构建项目和子项目集合并将子项目链接到父项目?我试着形象化它。子集合对象应该代表一个嵌套集合

   {
      "projects": {                        //collection
        "project_uid": {                   //document
          "name": "some_name",            
          "some_url": "some_url",
          "createdAt" : 1548418304
        },
        "project_uid1": {                  //document
          "name": "some_name",
          "some_url": "some_url",
          "createdAt" : 1548418304
        }
      },
      "subrojects": {                       //collection
        "subroject_uid": {                  //document
          "thread_uid": "some_id",
          "title": "some_title",
          "content": "some_content"
        },
        "subroject_uid1": {                 //document
          "thread_uid": "thread_uid1",
          "title": "some_title",
          "content": "some_content"
        },
        "subroject_uid2": {                 //document
          "thread_uid": "thread_uid1",
          "title": "some_title",
          "content": "some_content"
        }
      }
    }

或者并行集合是否更有意义(如果这甚至有效)?

   {
      "projects": {                        //collection
        "project_uid": {                   //document
          "name": "some_name",            
          "some_url": "some_url",
          "createdAt" : 1548418304,
          "subcollection": {                   //collection
            "subproject_uid": {                  //document
              "title": "some_title",
              "content": "some_content"
            },
            "subproject_uid1": {                 //document
              "title": "some_title",
              "content": "some_content"
            }
          }
        },
        "project_uid2": {                  //document
          "name": "some_name",
          "some_url": "some_url",
          "createdAt" : 1548418304,
          "subcollection":{                   //collection
            "comment_uid2": {                 //document
              "title": "some_title",
              "content": "some_content"
            },
          }
        }
      }

标签: firebasegoogle-cloud-firestore

解决方案


推荐阅读