1路
评论嵌入在Post文档中:
{ "_id": ObjectId(12345),"title": "Cat ate elephant!","body": "Lorem ipsum dolor sit amet,consectetur adipiscing elit. Aenean convallis pretium vulputate.","comments": [ {"name": "Cat","body": "MEOW!"},{"name": "Elephant","body": "I was eaten by cat,lol!"},{"name": "Human","body": "I am hungry!"} ] }
2种方法
帖子和评论之间的关系(在单独的文件中).帖子有很多评论:
// POST // { "_id": ObjectId(12345),"title": "Cat ate elephant!" "body": "Lorem ipsum dolor sit amet,consectetur adipiscing elit. Aenean convallis pretium vulputate." } // Comments // { "_id": ObjectId(...),"post_id": ObjectId(12345),"name": "Cat","body": "MEOW!" } { "_id": ObjectId(...),"name": "Elephant",lol!" } { "_id": ObjectId(...),"name": "Human","body": "I am hungry!" }
哪种方式更好?
解决方法
方法1
>无需加入=>快速访问数据
> NoSQL的做法
>每个评论只与该帖子有关,所以为什么不将它们存储在一起(将标题和正文存储在一起;)
如果您有大型文档,> 15.5兆字节,并且您收到了一些评论,那么您可能需要将它们存储在其他地方.这是因为最大文档大小为16兆字节.
方法2是RDMBS的方式,Mongo没有内置的连接,所以你需要在你的应用程序中执行它们.