如何按记录之间的时间差分组?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (52)

我的数据库充满了记录:

{date: ISODate("2018-01-01T00:00Z"), data: 'A'}
{date: ISODate("2018-01-01T02:00Z"), data: 'B'}
{date: ISODate("2018-01-01T10:00Z"), data: 'C'}
{date: ISODate("2018-01-01T16:00Z"), data: 'D'}
{date: ISODate("2018-01-01T18:00Z"), data: 'E'}
{date: ISODate("2018-01-01T20:00Z"), data: 'F'}
{date: ISODate("2018-01-01T22:00Z"), data: 'G'}

当它们之间的时差小于N时,我想将记录组合​​在一起。

因此,例如,当N = 3小时时,第一个bin应包含A,B,第二个bin应包含C,最后一个bin应包含D,E,F,G。

是否可以使用MongoDB的聚合?

提问于
用户回答回答于

不能使用MongoDB聚合来实现这一点,因为当前无法访问2个文档的值。更接近的解决方案将是使用$bucket框架阶段。

扫码关注云+社区

领取腾讯云代金券