Делать карту / уменьшить трейлинг 7 и 30 дней вычислений - PullRequest
1 голос
/ 02 декабря 2011

У нас проблема с написанием карты / редуктора для оболочки Mongo для обработки веб-журналов.Он рассчитывает ежедневные обращения пользователей мобильных и настольных компьютеров, но когда мы пытаемся сослаться на прошлые документы, чтобы рассчитать последние 7 и 30 дней посещений пользователей.Буду признателен за любую помощь или совет.

{ "_id" : { "SiteName" : "All Sites", "Date" : ISODate("2011-01-18T00:00:00Z") }, "value" : { "Day" : { "AccessTypeTotal" : 9, "AccessTypeDirect" : 0, "AccessTypeDirectPerc" : 0, "AccessTypeSearch" : 8, "AccessTypeSearchPerc" : 88.88888888888889, "AccessTypeNavigation" : 1, "AccessTypeNavigationPerc" : 11.11111111111111 } } }

1 Ответ

0 голосов
/ 07 мая 2012

Поваренная книга MongoDB содержит отличную статью , которая описывает этот процесс.

Для завершения 30 дней используйте что-то вроде этого:

thirty_days_ago = new Date(Date.now() - 60 * 60 * 24 * 30 * 1000);
db.pageviews.mapReduce(map, reduce,
  {out: pageview_results, query: {Date: {'$gt': thirty_days_ago}}});

Прочитайте статью полностью, чтобы лучше понять, как использовать это с вашими документами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...