2014-02-19 5 views
0

Мое приложение имеет 3 основных модели: компании, должности и постдаты. Я предоставляю подробную панель инструментов аналитики, и мне трудно понять, что является лучшим методом для структурирования моделей в mongodb для лучшей производительности.Структура моделей и видов backbone.js

PostData содержит следующие поля: дату, количество сообщений (для этой даты), средней продолжительность поста (для этой даты) и ИН Сообщения содержит следующие поля: дату, текст сообщения, почту длину

В представлении панели инструментов я хочу отобразить два графика и две части данных.

Графики: одно из числа постов по дате, а другое - средняя длина по дате. данные: общее количество сообщений для диапазона дат, средняя длина сообщения для диапазона дат

В настоящее время во взглядах я просматриваю коллекцию postdata, чтобы создать общее количество сообщений для этого диапазона дат и среднюю длину сообщения для этого диапазона дат. Я знаю, что я, вероятно, не должен делать такую ​​работу в представлениях, но как еще я могу получить данные, которые я ищу? Должен ли я избавиться от коллекции postdata и просто использовать underscore и countBy для создания данных для диаграмм? Что даст мне лучшую производительность/является предпочтительным методом.

ответ

0

Я бы посмотрел на Marionette, он добавляет несколько приятных функций на Backbone, один из которых - collection views Это прекрасный способ отделить представление от ваших графиков.

Если вы думаете, что вы хотели бы расти функциональность приборной панели становится все более и более сложным, то я бы угробить модель PostData и сделать анализ на стороне клиента, вы можете использовать библиотеки как d3, crossfilter, и rickshaw. Это даст вам большую гибкость для быстрого добавления функций. Преимуществами сохранения модели postdata были: простота на передней панели и лучшая производительность переднего конца.

0

Я думаю, что цикл через коллекцию не должен оказывать такого большого влияния на производительность.

Хотя вы можете попробовать что-то вроде этого: дополнительно к коллекции BB создать простой объект с датами, действующими как ключи и объект данных, как значения только для вычислений. Чтобы запросить его, вам нужно создать массив дат в запрошенном диапазоне. Он может работать довольно быстро, если диапазон будет относительно небольшим, но по мере увеличения диапазона производительность приблизится к простому прохождению всего этого. Я признаю, это звучит немного сумасшедшим даже для меня. Некоторые эксперименты обязательно понадобятся.

Смежные вопросы