【发布时间】:2017-08-08 19:27:07
【问题描述】:
我最近开始使用 firebase 并尝试在我的 Android 应用程序中以 NoSql 方式重塑我的数据。我当前的结构是 MIX --- > MIXTITLE ----> MIXDETAILS (此组合的所有细节)。我见过很多按 UID 排序项目的结构,但我如何将其与用户联系起来并避免每个用户有一堆重复记录?
例如,用户可以将歌曲添加到库中,并且该库具有三个选项卡,一个用于所有歌曲,一个用于播放列表,一个用于收藏夹。按 UID 存储 MIX 不会让我查询找到该混合已添加到用户库的所有 MIXES。
更好的方法是对数据进行非规范化并创建一个 USERMIX 节点来列出用户 UID 下的所有 MIX 吗?
【问题讨论】:
-
UID 代表用户 ID。 UID 是 Firebase 在内部跟踪经过身份验证的用户的方式,即在创建用户时,会为他们分配一个 UID,然后该 UID 可用于创建您自己的 /users 节点,您可以在其中存储有关每个用户 /users/uid_0 和 /users 的附加信息/uid_1 等。如果您想创建唯一键来存储其他类型的数据,通常通过 childByAutoId() (swift) 或 push() 完成。如果您的问题中没有关于您的用例和平台的更多信息,我们将无法提供更多信息,
-
在 Firebase 中建模数据是一个非常广泛的话题。最好的模型是适用于您的用例的模型。这有点不建议,但实际上非常重要:在 NoSQL 中,您通常最终会为应用程序的用例扩充数据模型。我建议阅读NoSQL data modeling 并观看Firebase for SQL developers。
标签: android json firebase firebase-realtime-database nosql