什么是将此关系结构迁移到Mongo文档的最有效方法?

时间:2018-01-31 20:40:39

标签: mysql mongodb rdbms

我在SQL中有以下结构,我希望使用MEAN堆栈进入Mongo以获取项目。基本上它与用户能够为游戏撰写评论有关。所以我有一个User表与子查看表有关系。用户可以有很多评论。评论加入了一个游戏桌,该表参考了已经过评论的所有游戏细节。我需要游戏桌才能存储游戏详情并将其显示在搜索中,以便可以选择游戏,然后从那里可以看到所有游戏的评论。

作为Mongo文档风格本质的新手,有什么最有效的方法来设置它?我是否有3个镜像下面的表并且只是相互引用的文档,或者为每个游戏存储单独的文档是否更好?阅读MongoDB网站上的文件以便从RDBMS迁移,这并不能让我清楚地了解我应该如何向前发展。感谢任何输入人员!

enter image description here

1 个答案:

答案 0 :(得分:1)

这取决于会有多少评论。正如this page所说,如果只有少数我会在游戏集中包含评论。

游戏收藏

{
  "_id": ObjectID(123)
  "type": "action",
  "reviews": [
    {
      "rating": 8,
      "user": ObjectID(1)
    }, {
      "rating": 3,
      "user": ObjectID(2)
    }
  ]
}

同样的评论不会通过游戏重复,但用户会这样做,因此请将用户留在其他收藏中并引用它们,这样就不会出现不一致或重复的数据。

用户集合

{
  "_id": ObjectID(1)
}