2015-06-17 33 views
1

我的應用程序有此事件模型。如果我創建另一個模型:日期...所以一個事件可以有多個日期,我應該使用Events EmbedsMany Dates嗎?或者更好地使用事件hasMany日期和日期belongsTo事件?有什麼不同?StrongLoop:EmbedsMany vs hasMany and belongTo

活動的新日期可能會在事件創建後稍後添加。

我可能會使用MySQL數據庫,不知道這是否有什麼好做的。

回答

3

關於具有EmbedsMany關係的模型的查詢將包括結果中的相關詳細模型的實例。這是因爲如果您正在使用SQL數據庫,則子模型將以文檔形式保存在主表的字段中。

HasMany存儲相關模型的ID,這取決於您是否要包含相關模型的實例或不包含在您的查詢中。在這種情況下,主數據和詳細數據將存儲在分開的表中。

什麼是更好的使用真的取決於你和你的需求。

+0

太好了!..謝謝。 把更多的注意力放在它上面,我可能會創建一個參加模型,以作爲用戶和日期之間的hasManyThrough關係。所以我認爲在這種情況下有很多會更好。 –

+1

我個人一直使用hasMany和SQL數據庫。嵌入相關的細節表是更自然的方式。對於像MongoDB這樣的noSQL數據庫,嵌入相關模型通常是有意義的。可能的問題是文檔的大小,因爲MongoDB的每個文檔的大小限制爲16兆字節。這又取決於你的設計和要求。 –