mongoDB中应不应该拆分文档?

比如,一篇文章,然后有很多评论,mongo把文档和该文档的所有评论,都整合到一起形成一个文档。

但是,如果在用户的个人中心,要把该用户的所有评论,按评论的时间先后顺序都列出来,而该用户的所有评论,会分散在非常多不同的文章中,如果按照mongo这样的方式,是不是就要查询文章集合里的所有文章的所有评论,检查这所有文章的所有评论是不是属于这个用户,属于这个用户就全部取出来,mongo的方式是不是应该这样?如果不这样,有没有其他更好的方式处理这个需求?

如果将评论放到文章的这个文档里,那该文章的评论如果有非常多,这样让这个文章文档就非常大,这样到底好不好?

阅读 3k
2 个回答

没有关系模型的支持,MongoDB的模型是以满足需求为首要目标的,没有哪种最好一说,只有哪种最合适你使用一说。使用的时候先把关系模型的条条框框放下,不要管什么冗余,范式,只要你的应用能够高效地工作,就是一个好的模型。然后在不同模型之间做些权衡,选择一个对你最有利的就可以了。

分开呗 article comments 不同的collection

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进