MongoDB获得每一秒的结果

MongoDB获得每一秒的结果,mongodb,mongodb-query,aggregation-framework,Mongodb,Mongodb Query,Aggregation Framework,在MongoDB中,所有文档都有一个日期字段,它是一个时间戳 有很多数据,我只想得到每个时间间隔的部分数据: e、 g.400毫秒 1402093316030<---- 1402093316123 1402093316223 1402093316400<---- 1402093316520 1402093316630 1402093316824<---- 1402093316030您可以通过聚合框架和一点日期数学来实现这一点。假设您有一个“timestamp”字段和附加字段“

在MongoDB中,所有文档都有一个日期字段,它是一个时间戳

有很多数据,我只想得到每个时间间隔的部分数据:

e、 g.400毫秒

1402093316030<----
1402093316123
1402093316223
1402093316400<----
1402093316520
1402093316630
1402093316824<----

1402093316030您可以通过聚合框架和一点日期数学来实现这一点。假设您有一个“timestamp”字段和附加字段“a”、“b”和“c”:

db.collection.aggregate([
{“$组”:{
“_id”:{
“$subtract”:[
“$timestamp”,
{“$mod”:[“$timestamp”,400]}
]
},
“时间戳”:{“$first”:“$timestamp”},
“a”:{“$first”:“$a”},
“b”:{“$first”:“$b”},
“c”:{“$first”:“$c”}
}}
])
因此,数据以400ms的间隔在“timestamp”字段的值上“分组”。其余的数据由操作符标识,该操作符从这些分组边界上的字段中选择“最后一个”值

如果您以其他方式wan这些边界上的“最后一个”项,则切换为使用运算符

最终结果是每隔400毫秒发生一次的最后一个文档


有关更多参考信息,请参阅命令和。

不太清楚您在问什么?您是否正在寻找某种轮询解决方案?或者类似于从上一次间隔中获得结果?或者到底是什么?我已经更新了我的问题