【发布时间】:2011-12-08 21:51:42
【问题描述】:
我正在构建一个流媒体音乐服务,它具有以下功能:
- 关注用户
- 喜欢的歌曲
- 创建和管理播放列表
- ...等
我正在使用 Rails 3.1、Mongoid 和 MongoDB。我不确定应该如何为我的用户、播放列表和歌曲模型建模。
播放列表和歌曲之间存在多对多关系。 Mongoid 将每首歌曲的 ObjectId 存储在每个播放列表的数组中。但我需要为每首歌曲 播放列表关系添加一些元数据,例如歌曲在特定播放列表中的位置。
我也不确定如何做一些事情,比如找出一个用户与另一个用户有哪些共同的朋友和共同的喜好。在用户文档中存储用户喜欢和朋友真的是个好主意吗?一个用户可能有几千个赞和一千多个朋友等。
这种东西更适合关系数据库吗?
【问题讨论】:
-
这个答案对建模喜欢有很好的讨论:stackoverflow.com/questions/28006521/…
标签: ruby-on-rails database-design mongodb mongoid