小编use*_*337的帖子

设计Firebase的数据结构

警告:我的查询会更理论化(抱歉程序员,请耐心等待我).我试图了解如何定义在Firebase中使用的数据库结构.

我正在探索使用Firebase作为我正在尝试构建的评论应用(在Android中)的后端.

该应用程序提供产品详细信息和审查不同类型的产品.所以这是一个示例用例.

  1. 应用程序中显示的产品属于同一类型(例如智能手机).在此用例中,定义数据库结构更容易.对于每部手机,我只需将手机规格保存到Firebase并将其检索到我的应用中.
Root
 |
 +--Smartphone
     |
     +--Manufacturer Name
     +--Screen Size
     +--Screen Density
     +--Processor
     +--RAM,...
Run Code Online (Sandbox Code Playgroud)
  1. 应用程序中显示的产品属于不同类型(例如智能手机,汽车,书籍......).在此用例中,定义数据库结构变得复杂.我可以简单地定义数据结构
Root
 |
 +--Product
     |
     +--Manufacturer Name
     +--Screen Size
     +--Screen Density
     +--Processor
     +--RAM
     +--Fuel type (Petrol/Diesel/Electric)
     +--Vehicle Type (Sedan/Hatchback)
     +--Vehicle Price,...
Run Code Online (Sandbox Code Playgroud)

但是,上述数据结构存在的问题是,当我尝试对智能手机进行产品评审时,与Car相关的数据将保持空白.对于汽车的产品评审也是如此.

使用Flattening数据结构可以解决此问题.这是我感到困惑的地方.

Root
 |
 +--Smartphone
 |   |
 |   +--Manufacturer Name
 |   +--Screen Size
 |   +--Screen Density
 |   +--Processor
 |   +--RAM
 |
 +--Car
     |
     +--Fuel type (Petrol/Diesel/Electric)
     +--Vehicle Type (Sedan/Hatchback)
     +--Vehicle Price,...
Run Code Online (Sandbox Code Playgroud)

但是,所有产品评论都将显示在单个活动/片段中.因此,每种产品类型都不会有不同的活动/片段.有人可以让我清楚地了解在我的用例中使用扁平数据结构吗?

问候

android firebase firebase-realtime-database

2
推荐指数
1
解决办法
549
查看次数