Mongodb聚合展开状况

时间:2016-02-17 11:00:39

标签: mongodb aggregation-framework

我有像

这样的藏品
{
    "avlble_date": ISODate('2016-03-30T00:00:00.000Z'),
    "offers": [
        {
            "rangestart": 0,
            "rangeend": 12,
        },
        {
            "rangestart": 12,
            "rangeend": 24,
        },
        {
            "rangestart": 24,
            "rangeend": 504,
        },
        {
            "rangestart": 504,
            "rangeend": 2160,
        }
    ]
}

RangestartRangeend列存储小时数。我想查询集合avlble_date - 当前时间并转换小时差异,并将结果返回rangestartrangeend之间的差异

datediff: { 
    $divide: [{ 
        $subtract: [ "$avlble_date", ISODate()]
        }, 1000*60*60
    ] 
}

我希望结果集像

一样返回
{"avlble_date": ISODate('2016-03-30T00:00:00.000Z'),
offers:rangestart:504,rangeend:2160} }

达到上述结果的最佳方法是什么?

0 个答案:

没有答案