【发布时间】:2014-07-08 23:06:27
【问题描述】:
我的 MongoDB 查询中有以下对象数组,以获取一些基于时间的统计信息:
[
{
_id: { year: 2014, dayOfYear: 128, hour: 9 },
count: 2,
avg: 0.12455,
min: 0.1245,
max: 0.1246,
gv: 7.98954654895666,
bv: 0.9950000000000001
},
{
_id: { year: 2014, dayOfYear: 134, hour: 14 },
count: 8,
avg: 0.12217854,
min: 0.1212,
max: 0.12345678,
gv: 25.869999999999997,
bv: 3.1652450614477337
},
{
_id: { year: 2014, dayOfYear:126, hour: 19 },
count: 3,
avg: 0.11234099999999998,
min: 0.112341,
max: 0.112341,
gv: 29.849999999999998,
bv: 3.3533788500000004
}
]
我想基本上将 _id 对象转换为带有 moment.js 的 unix 时间戳我只是找不到正确的下划线函数来遍历对象,获取 ID 数据并再次从中创建一个数组。
在这个过程中我可以做 moment().year('2014').format('Z')
想要的结果:
{
unixtime: 1400599394,
count: 3,
avg: 0.11234099999999998,
min: 0.112341,
max: 0.112341,
gv: 29.849999999999998,
bv: 3.3533788500000004
}
【问题讨论】:
-
这实际上是聚合框架的输出吗?如果是这样,你的真正目的是什么?您只想在每天的“小时”内分组吗?
标签: javascript mongodb underscore.js momentjs aggregation-framework