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

标签 mysql mongodb rdbms

我在 SQL 中有以下结构,我希望将其转移到 Mongo 中以用于使用 MEAN 堆栈的项目。基本上它与用户能够为游戏撰写评论有关。所以我有一个与子评论表有关系的用户表。一个用户可以有很多评论。评论被加入到游戏表中,该表引用了已评论的游戏的所有详细信息。我需要游戏表能够存储游戏详细信息,并将这些详细信息显示在搜索中,以便可以选择游戏,并从那里您可以看到该游戏的所有评论。

作为对 Mongo 文档样式性质还不熟悉的人,最有效的设置方法是什么?我是否会拥有 3 个与下表相对应且仅相互引用的文档,或者为每个游戏拥有单独的文档并将每个评论也存储在那里会更好吗?阅读 MongoDB 网站上有关从 RDBMS 迁移的文档并不能真正让我清楚地了解应该如何继续前进。感谢大家的意见!

enter image description here

最佳答案

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

游戏合集

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

同样的评论不会通过游戏重复,但用户会重复,所以将用户保留在其他集合中并引用它们,这样就不会出现不一致或重复的数据。

用户集合

{
  "_id": ObjectID(1)
}

关于mysql - 将这种关系结构迁移到 Mongo 文档的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48551072/

相关文章:

php - 如何加入 laravel 关系

mysql - 如何删除 mysql 查询找到的条目?

mysql - 为什么 DROP PRIMARY KEY 会影响所有表行?

MySQL 从文本字段中提取单个单词

mysql - 合并多行的sql查询

javascript - 在 NodeJS 中进行同步 MongoJS 查询

python - pymongo [SSL : CERTIFICATE_VERIFY_FAILED]: certificate has expired on Mongo Atlas

javascript - 为什么我的 mongodb 中会添加垃圾?

firebase - Cloud Firestore 和数据建模 : From RDBMS to No-SQL

mysql - 如何为每个注册的新用户启动自动增量