用于文件夹/项目系统的Firebase数据库结构

时间:2019-04-24 16:29:55

标签: javascript database firebase firebase-realtime-database

当前的Firebase数据库结构为

matrix

随着项目数量的增加,我想添加文件夹系统,例如finder或Explorer。
 为了使规范化以获得更好的性能,请遵循我尝试过的方法。

"projects": {  
  $userId: {    
    $auto_generated_project_id_1: {
      'name': 'first_project',
      ...
    },
    $auto_generated_project_id_2: {
      'name': 'first_project',
      ...
    },
  }
}

问题是,随着项目甚至正在增长,阅读整个项目以查找哪些项目位于哪个文件夹中是一种负担。所以现在我可能需要添加其他概念。
目前,我要做的是

"folders": {  
  $userId: {    
    $auto_generated_folder_id_1: {
      'name': 'first_project',
      'parentId': 'parentId to go back',
      ...
    },
    $auto_generated_folder_id_1: {
      'name': 'first_project',
      'parentId': 'parentId to go back',
      ...
    },
  }
}

"projects": {  
  $userId: {    
    $auto_generated_project_id_1: {
      'name': 'first_project',
      'folderId': 'id_of_folder'
      ...
    },
    $auto_generated_project_id_2: {
      'name': 'first_project',
      'folderId': 'id_of_folder'
      ...
    },
  }
}

理想情况下,我想在父文件夹上显示子文件夹/子项目的数量。
例如,

folder

请给我一些线索,以组织更好的结构。

0 个答案:

没有答案