MongoDB组合集合或具有多个引用

时间:2015-05-01 19:57:26

标签: mongodb mongoose schema mongodb-query

我有一组用户可以选择的类别(电影,音乐,书籍等),并对所选类别中的项目进行评分。

因为每个类别都有不同的参数(moviesyearmusicartist等)我想把每个类别拆分成它自己的集合,但是,提出了必须在评级集合中引用正确文档的问题(选项1)。

将所有类别分开并在评级集合中包含大量参考文献会更聪明吗?或者将所有类别组合成一个集合,其中每个文档的大部分参数都是空白的(选项2)?

编辑:我想另一个选择是让每个类别都有自己的评级集合(即MovieRatings),但这会有点混乱......

选项1:

产品:

Movies = {
  title: String,
  year: Number,
  imageUrl: String
}

Music = {
  title: String,
  artist: String,
  imageUrl: String
}

评分:

Ratings = {
  user: ObjectId,
  movie: { type: Schema.Types.ObjectId, ref: 'Movies' },
  music: { type: Schema.Types.ObjectId, ref: 'Music' },
  ...
  rating: Number
}

选项2:

产品:

Items = {
  title: String,
  artist: String,
  year: Number,
  imageUrl: String
}

评分:

Ratings = {
  user: ObjectId,
  item: { type: Schema.Types.ObjectId, ref: 'Items' },
  rating: Number
  ...
}

0 个答案:

没有答案