扩展Firestore结构

时间:2019-01-25 12:34:21

标签: firebase google-cloud-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"
            },
          }
        }
      }

0 个答案:

没有答案