【问题标题】:Structure for backbone.js models and views主干.js 模型和视图的结构
【发布时间】:2014-02-20 02:22:55
【问题描述】:

我的应用程序有 3 个主要模型:company、posts 和 postdata。我正在提供一个深入的分析仪表板,但无法确定在 mongodb 中构建模型以获得最佳性能的最佳方法是什么。

postdata 包含以下字段:日期、帖子数量(针对该日期)、平均帖子长度(针对该日期)和公司 ID 帖子包含以下字段:日期、帖子文本、帖子长度

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

图表:其中一个是按日期排列的帖子数量,另一个是按日期排列的平均帖子长度。 数据:一个日期范围内的帖子总数,一个日期范围内的平均帖子长度

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

【问题讨论】:

    标签: javascript node.js mongodb backbone.js


    【解决方案1】:

    我想看看 Marionette,它为 Backbone 添加了一些不错的功能,其中之一是 collection views 这是为您的图表分离视图的好方法。

    如果您希望将仪表板的功能变得越来越复杂,那么我会放弃 postdata 模型并在客户端进行分析,您可以使用 d3、@987654323 等库@ 和 rickshaw。这将为您提供很大的灵活性来快速添加功能。保留 postdata 模型的优点是:前端简单且前端性能最佳。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多