我的数据库中充满了记录:
{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的聚合或mapReduce?
发布于 2018-07-11 06:57:05
你不能用mongodb聚合做到这一点,因为你目前不能访问2个文档的值。更接近的解决方案是使用$bucket框架stage。
https://stackoverflow.com/questions/51274759
复制相似问题