всем, добрый день!
Помогите, пожалуйста, с таким вопросом -
Есть база, каждый документ которой выглядит так:
{
"_id" : ObjectId("520bea012ab230549e749cff"),
"Day" : 1,
"Time" : 54,
"State" : "Vermont",
"Airport" : "BTV",
"Temperature" : 39,
"Humidity" : 57,
"Wind Speed" : 6,
"Wind Direction" : 170,
"Station Pressure" : 29.6,
"Sea Level Pressure" : 150
}
Для каждого штата "State" нужно найти самую высокую "Temperature" за месяц (т.е. документов со штатом Вермонт будет например 31... для каждого дня в месяце) и в этот документ (с самой высокой температурой) добавить запись - 'month_high': true
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/weather', function(err, db) {
if(err) throw err;
var data = db.collection('data');
var cursor = data.find({});
cursor.sort([ ["State", 1], ["Temperature", -1] ]);
var operator = { '$set': { 'month_high': true }};
cursor.forEach(function(err, doc) {
if(err) throw err;
TODO???????????????????????
});
return db.close();
});
Т.е. я сделал:
- отсортировал по штатам
- отсортировал по температуре (самая высокая получается первой среди документов данного штата)
и теперь пытаюсь в TODO сделать следующее - для каждого штата найти первую запись и вставить operator...
HELP, ибо не получается ничего