如何给一个博客程序设计mongodb数据库?
0
博客功能:文章的CRUD,评论的CRUD。文章中可以包涵附件。
文章具有分类和标签属性,而且这2个属性要用来统计,用户管理等。
假如用mongodb,是要还是按照mysql那样分表么(文章,评论,附件,分类..各一个表)?如果按collection对应对象这样设计怎么样(评论,标签,所属分类都是文章的属性)。。
文章具有分类和标签属性,而且这2个属性要用来统计,用户管理等。
假如用mongodb,是要还是按照mysql那样分表么(文章,评论,附件,分类..各一个表)?如果按collection对应对象这样设计怎么样(评论,标签,所属分类都是文章的属性)。。
没有找到相关结果
重要提示:提问者不能发表回复,可以通过评论与回答者沟通,沟通后可以通过编辑功能完善问题描述,以便后续其他人能够更容易理解问题.
2 个回复
Bob - 同程旅游大数据+BI 架构师 2015-11-10 回答
赞同来自: seng 、cinemat
mongodb的文档大小是16m,这个在存储你的文章或附件时需要考虑下。
最简单的内嵌结构:
{
CRUD:1,
文章名称:'',
文章评论列表:[{
{CRUD:1,评论者:'',评论内容:''},
{CRUD:2,评论者:'',评论内容:''}
}]
}
但是需要注意的是:如果评论可作为一个单独的访问对象,那就建议不要用内嵌,应该采用数据引用:
{
CRUD:1,
文章名称:'',
文章评论列表:[
ObjectID('评论对象A'),
ObjectID('评论对象B')
]
}
仅仅是个人想法,未在mongodb上创建。如有误,请指正。
牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2015-11-10 回答
赞同来自: seng
评论,标签,所属分类等都是bsondocument的sub document就可以。附件只是保存一个附件的路径就可以。
数据规模比较大的话,可以考虑集群,sharding等等。
特别要注意:mongodb对于sub document的某一列来排序需要自己写排序处理,这个比较头疼。我没有找到好的办法。。有知道的可以聊聊