是否可以通过时间戳的“丛”来聚合MongoDB数据?

时间:2017-11-01 22:25:00

标签: mongodb mapreduce aggregate

MongoDB的聚合管道或MapReduce功能可以查询许多文档,每个文档都有时间戳,并将它们分组在彼此设定范围内的时间戳上,基本上是“聚集”它们吗?

例如,如果我有5个包含以下时间戳的文档:

  1. 2017-10-15 11:25:00
  2. 2017-10-15 11:28:00
  3. 2017-10-15 14:59:00
  4. 2017-10-15 15:01:00
  5. 2017-10-15 15:06:00
  6. 2017-10-15 15:13:00
  7. 我的目标是将他们分成以下文件:

    1. 2017-10-15 11:28:00(2个活动)
    2. 2017-10-15 15:06:00(3个活动)
    3. 2017-10-15 15:13:00(1次活动)
    4. 我在逻辑上所做的是说“将所有文件分组在5分钟内加上时间戳”。

      重要的是要注意,我不只是说“每五分钟一次分组文件”,因为如果是这种情况(假设五小时组开始于小时),则文件3和4可能不会出现在同组。

      另一件棘手的事情是处理与5相关的文件3和4.文件3和5之间的距离超过5分钟,但由于3到4之间的时间不到5分钟,而且在4到5之间,所有人都被分组了。

      (我认为如果没有那个警告就可以使这个工作正常,其中该组有3个与3和4分开,因为该组从3开始并且进行一组“5分钟”,不包括5。但是如果这个小组可以像那样扩展那就太棒了。)

0 个答案:

没有答案