问题描述
mongodb数据库设计,机房数据库设计问题以前只用过关系型数据库,看了一些mongodb的书但是还是有些困惑,对于mongodb的多层嵌套,下表是需要制作成数据库的excel表格。我直接用mongodb进行了多层嵌套
按照这张表格,直接做成mongodb的嵌套格式的话,就需要4层嵌套了json数据如下:{
'_id' : ObjectId('5858f844d5155de57df5efb3'),'SITEID' : 1,'ZONE' : '市南区','SITENAME' : '万象城机房','ZADDRESS' : '山东路10号','CLASS' : 'D','LNG' : 120.339943,'LAT' : 36.089903,'SITE' : '','COSTINFO' : [ { 'RENT':[ {'RENTALAGREEMENTNO':'协议标号','RENTPRICE':'3万','CONTRACTPERIOD':'1年','EXPLANATION':'暂时还没有' } ], 'POWERRATE':[ {'supply':'业主转供','ELECAGREEMENTNO':1234,'PRICEOFELEC':1,'METERLOCATION':'一楼电力室','ELECBILLPAYMENTCYCLE':'年付' } ] }]
}请帮忙看看这样建数据库有没有什么错误,对后期数据维护,查询统计上会有什么问题吗?多谢。
问题解答
回答1:建议考虑如下几个方面,在进一步修改数据模型前:
1、今后主要的查询的方式是什么?
2、今后主要的统计的方式是什么?面向主要查询/统计方式来设计数据模型。
3、数据更新的方式/频率是什么?
4、数据量有多大?
除了基本数据模型外,还需要考虑索引的建立。
供参考!
Love MongoDB! Have Fun!
回答2:如果内部嵌套的信息是一个可独立的信息,且会重复使用到,可以考试一下DBRef的实现,这样在修改信息的时候会比较方便

