MongoDB如何使用时间戳数组获取主机的活动时间

MongoDB如何使用时间戳数组获取主机的活动时间,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我的数据库中有以下类型的MongoDB文档: { "ts" : [ ISODate("2015-11-27T18:15:21Z"), ISODate("2015-11-27T18:15:22Z"), ISODate("2015-11-27T18:15:30Z") ], "host" : "178.197.235.109", "minTs" : ISODate("2015-11-27T18:15:21Z") }, {

我的数据库中有以下类型的MongoDB文档:

{
    "ts" : [
        ISODate("2015-11-27T18:15:21Z"),
        ISODate("2015-11-27T18:15:22Z"),
        ISODate("2015-11-27T18:15:30Z")
    ],
    "host" : "178.197.235.109",
    "minTs" : ISODate("2015-11-27T18:15:21Z")
},
{
    "ts" : [
        ISODate("2015-11-25T20:12:07Z"),
        ISODate("2015-11-25T20:12:08Z"),
        ISODate("2015-11-25T20:12:11Z")
    ],
    "host" : "178.194.35.159",
    "minTs" : ISODate("2015-11-25T20:12:07Z")
},
时间戳ts描述特定主机对系统可见的位置。通过聚合和/或预测,我想知道的是用户活跃的会话数。因此,我将会话偏移量定义为3s。如果一个主机的任何一对后续时间戳最多在这个会话偏移量上不同,我假设这些时间戳属于同一个会话。如果没有,则启动新会话。在第一个记录中,我们将有2个会话,在第二个记录中是1。请注意,用户可能只可见一次

是否可以查询每个文档的会话数?我现在很困窘,希望能得到任何帮助

谢谢,干杯
西蒙

为什么在第二个
3
?我想第二个也是
2
。你是对的,有一个错误。但实际上这只是一节课(08-07)