1
我有一個MongoDB的設置與文件這樣我可以在MongoDB中按範圍分組浮點數嗎?
{
"_id" : ObjectId("544ced7b9f40841ab8afec4e"),
"Measurement" : {
"Co2" : 38,
"Humidity" : 90
},
"City" : "Antwerp",
"Datum" : ISODate("2014-10-01T23:13:00.000Z"),
"BikeId" : 26,
"GPS" : {
"Latitude" : 51.20711593206187,
"Longitude" : 4.424424413969158
}
}
現在,我試圖通過日期和地點聚集他們,同時也測量的平均值添加到結果。到目前爲止,我的代碼如下所示:
db.stadsfietsen.aggregate([
{$match: {"Measurement.Co2": {$gt: 0}}},
{
$group: {
_id: {
hour: {$hour: "$Datum"},
Location: {
Long: "$GPS.Longitude",
Lat: "$GPS.Latitude"
}
},
Average: {$avg: "$Measurement.Co2"}
}
},
{$sort: {"_id": 1}},
{$out: "Co2"}
]);
這給了我小時的所有可能的組合的一個不錯的名單和GPS座標,在這種形式:
{
"_id" : {
"hour" : 0,
"Location" : {
"Long" : 3.424424413969158,
"Lat" : 51.20711593206187
}
},
"Average" : 82
}
的問題是,有這麼許多獨特的座標,它沒有用。
當值相近時,可以將文檔分組在一起嗎?從經度51.207到經度51.209?
工作很好!地理空間索引對我無用,因爲結果將用於熱映射,所以我需要所有結果。 – Stybar 2014-10-27 21:51:50