leni_m: вместо объяснений на пальцах лучше потрудиться привести пример на каком-нибудь cssdeck.com/labs и начинать бороться с конкретными проблемами, а не ванговать, что там и как у вас.
Михаил: проблемы у вас в голове от "опережающих знаний". Сначала столкнитесь с реальными проблемами, тогда и решайте их, а пока "решения заранее" превращаются в гадание на кофейной гуще.
С прокси знакомы? https://developer.mozilla.org/ru/docs/Web/JavaScri...
Если знакомы, то затруднение, видимо, в том, как навесить слушателей на поля. Попробуйте в конструкторе вернуть проксированный объект, чтобы методы обращались к нему, а не к "настоящему" объекту.
Arik: важно научиться с Монгой думать не как с MySQL, документное хранилище содержит в общем случае намеренно денормализованные данные, в отличие от реляционных хранилищ, в которых данные стараются моделировать в нормализованном виде. Как бы немного разные области применения (хотя, конечно, во многом они взаимозаменяемы).
Arik: записывай в отдельное поле сумму, в отдельное поле дату (без времени), создавай compound index поверх этих двух полей. Поле "yyyy-mm-dd hh:ii:ss" можно заменить на "hh:ii:ss", читая дату и время из отдельных полей, если это не мешает другой логике.
И чем будет отличаться сортировка по "yyyy-mm-dd" от "yyyy-mm-dd hh:ii:ss"? Эти отличия для вас точно критичны? Если критичны, то "в духе Монги" (в духе документного денормализованного хранения данных) записывайте "yyyy-mm-dd" в отдельное индексируемое поле, чтобы потом извлекать по индексу в нужном порядке сортировки без потерь производительности.
D3lphi: мне вашего согласия не нужно было :). Конечно, можно справиться и вебсокетами, и лонгпулингом, но W3C рекомендует для одностороннего потока событий с сервера использовать EventSource (когда реалтаймовая доставка данных от клиента не критична).
"в 2017 году такое принято писать с использованием веб сокетов" - скорее, с использованием HTTP/2 и EventSource ( https://learn.javascript.ru/server-sent-events ). А вебсокеты - они для чато-/игро- подобных сервисов, а не для уведомлении об обновлениях данных на сервере.