0

我需要对状态进行排序并找出驻留在 mongodb 中的这个天气数据中每个状态的最高温度。

当我找出该州的最高温度时,如何遍历 Javascript 中的每条记录并插入一个新列“month_highest”?


Day Time    State   Airport Temperature Humidity WindSpeed
1   54  Vermont BTV 39  57  6
1   154 Vermont BTV 39  57  4
1   254 Vermont BTV 39  57  5
1   354 Vermont BTV 38  70  5
1   454 Vermont BTV 34  92  11

16 53 佛罗里达 ORL 46 71 9 16 153 佛罗里达 ORL 47 71 8 16 253 佛罗里达 ORL 46 73 8 16 353 佛罗里达 ORL 47 74 8 16 453 佛罗里达 ORL 46 79 7 16 553 佛罗里达 ORL 46 79 5 16 653 佛罗里达 ORL 46 83 4

4

1 回答 1

0

MongoDB Map-Reduce

db.temps.mapReduce(
    /* map */
    function() {
        emit( this.State, this.Temperature);
    },

    /* reduce */
    function key(key, values) {
        var ret = 0;
        for (var i=0; i<values.length, i++) {
            if (values[i] > ret) ret = values[i];
        }
        return ret
    },

    /* params */
    {
         query: { 
             DateTime: { 
                 $gte: new Date('2013-01-01')
                 ,$lt: new Date('2013-02-01') 
             }
         }

         ,sort: {
             State:1
         }
    }
);

至于插入一个新的月最大值,这取决于你想如何存储它?你是如何查询这些数据的?

可以将结果输出到一个新集合中,或者以编程方式使用它来更新另一个集合。这取决于您希望如何塑造数据。实际上,您的数据看起来真的很平淡。

于 2013-08-24T00:34:52.827 回答