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