我想設計一個智能供熱設備的房屋監測系統沒有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