我想设计一个智能供热设备的房屋监测系统没有sql数据库。该建筑有一个主要供暖系统,通过跟踪公寓内的温度为每间公寓供暖。出于这个原因,每间公寓都有一个温度计,它不断向主系统发送温度。这个想法是让一个管理员可以跟踪来自主系统的所有报告,还可以分别查看每个公寓的温度。租客只能看到他自己的公寓温度。 管理员可以管理许多建筑物,一栋建筑物可以有许多公寓,只有一个主要的智能供暖系统。现在我假设一间公寓只能有一个温度计。我可以用sql设计数据库,但是我必须使用NoSql,而且我没有太多经验来设计复杂的nosql数据库。 我试图设计建筑集合,但我认为这是完全错误的。我应该为管理员和租户分别收集建筑和公寓的收藏,如果是,那么如何加入?也许有人知道一些例子,我可以看看并有一些想法? `{ 建筑:1, 地址: '地址这里', 公寓: {NO: '1',地板: '0'},
{NO: '2',地板: '1'} , {无: '3',楼: '2'}设计智能设备管理系统的NoSql数据库
],
thermometer : [
{ id : ObjectID('AAAA'), apartmentNo: '3'},
{ id: ObjectID('F17C'), apartmentNo: '2'},
{ id: ObjectID('D2AA'), apartmentNo: '1'}
],
mainHeatingSys: [
{ thermId : ObjectID('AAAA')},
{ thermId: ObjectID('F17C')},
{ thermId: ObjectID('D2AA')
// etc
]
}`
有*很多*的方式设计一个面向文档的ed数据库,这么多将取决于你的应用程序的查询需求。一个非常广泛的意见征求类型的问题,以及针对StackOverflow的主题。仅供参考您的问题是以文档为中心的;没有“nosql”模式,因为有许多NoSQL数据库的类型:键/值,文档,列,图形。 –
不明白'取决于你的应用的查询需求'吗?我描述了我需要的以及管理员和租户应该从db获得什么。如果我可以通过我定义的规则检索数据(管理员应该获得主系统和每个公寓数据,租户只有他自己的公寓数据),我不关心我使用哪种方式,除非它使我的应用程序工作更有效。从我提供的这个信息可以很容易地创建mysql数据库,所以我认为与NoSql相同。 – Vytautas