backbone.js模型和视图的结构

时间:2014-02-19 17:15:41

标签: javascript node.js mongodb backbone.js

我的应用程序有3个主要模型:公司,帖子和postdata。我正在提供一个深入的分析仪表板,我很难弄清楚在mongodb中构建模型的最佳方法是什么,以获得最佳性能。

postdata包含以下字段:日期,帖子数(该日期),平均帖子长度(该日期)和公司ID 帖子包含字段:日期,发布文本,帖子长度

在仪表板视图中,我想显示两个图表和两个数据。

图表:按日期显示的帖子数之一,另一个是按日期显示的平均帖子长度。 数据:日期范围的帖子总数,日期范围的平均帖子长度

目前在视图中,我遍历postdata集合以创建该日期范围的总帖子数,以及该日期范围的平均帖子长度。我知道我可能不应该在视图中做那么多工作,但我怎么能得到我正在寻找的数据呢?我应该摆脱postdata集合,只需使用下划线和countBy来创建图表数据吗?什么能给我最好的表现/是首选的方法。

2 个答案:

答案 0 :(得分:0)

我会看一下Marionette,它为Backbone添加了一些不错的功能,其中一个是collection views这是一个很好的方法来分离你的图形视图。

如果您认为您希望增加仪表板的功能以变得越来越复杂,那么我会抛弃postdata模型并在客户端进行分析,您可以使用d3之类的库, crossfilterrickshaw。这将为您提供快速添加功能的灵活性。保持postdata模型的优点是:前端简单,前端性能最佳。

答案 1 :(得分:0)

我认为循环收集不应该对性能产生太大影响。

虽然您可以尝试这样的事情:除了BB Collection之外,还创建一个简单的对象,其中日期充当键,数据对象仅作为计算值。要查询它,您必须在请求的范围内创建一个日期数组。如果范围相对较小,它可能会相当快,但随着范围的增加,性能将更接近于整个事物的循环。我承认,即使对我来说,这听起来有点疯狂。肯定需要进行一些实验。