2014-02-19 88 views
0

我的應用程序有3個主要模型:公司,帖子和postdata。我提供了一個深入的分析儀表板,並且無法確定在mongodb中構建最佳性能模型的最佳方法。backbone.js模型和視圖的結構

的POSTDATA包含字段:日期,職位數(該日期),平均長度(該日期),以及公司ID 的帖子包含的字段:日期,後文,後長

在儀表板視圖中,我想顯示兩個圖形和兩個數據。

圖形:按日期計算的帖子數量之一,另一個按日期計算的平均帖子長度。 數據:日期範圍內的帖子總數,日期範圍內的平均帖子長度

當前在視圖中,我循環訪問postdata集合以創建該日期範圍的帖子總數,以及平均帖子長度在那個日期範圍內。我知道我可能不應該在視圖中做這麼多工作,但我還能如何獲得我正在查找的數據?我應該擺脫postdata集合,並使用下劃線和countBy爲圖表創建數據?什麼會給我最好的表現/是最好的方法。

回答

0

我會看看Marionette,它給Backbone增加了一些不錯的功能,其中之一就是collection views這是一個很好的方式來爲圖表分離出視圖。

如果你認爲你想增加你的儀表板的功能變得越來越複雜,那麼我會溝POSTDATA模型,做在客戶端分析,可以使用庫像d3crossfilterrickshaw。這將爲您提供很多靈活性來快速添加功能。保留postdata模型的優勢在於:簡化前端和最佳前端性能。

0

我認爲循環收集不應該對性能產生太大的影響。

儘管您可以嘗試如下所示:除了BB Collection之外,還可以創建一個簡單的對象,其中日期充當鍵和數據對象作爲僅用於計算的值。要查詢它,你必須在請求的範圍內創建一個日期數組。如果範圍相對較小,它可能工作得相當快,但隨着距離的增加,性能將越來越接近整個事情的循環。我承認,即使對我來說聽起來有點瘋狂。一些實驗肯定是需要的。