使用java根据条件从mongo集合获取平均值
我有这样的收藏使用java根据条件从mongo集合获取平均值,java,mongodb,Java,Mongodb,我有这样的收藏 lat long band_1 20.4335456 72.2345456 34 21.54355 72.21256 42 select avg(band_1) from demo where lat <=19.4533 and lat >=21.454 and long <=69.5454 and long >=71.2443 等等 我想要这样的查询
lat long band_1
20.4335456 72.2345456 34
21.54355 72.21256 42
select avg(band_1) from demo where lat <=19.4533 and lat >=21.454 and long <=69.5454 and long >=71.2443
等等
我想要这样的查询
lat long band_1
20.4335456 72.2345456 34
21.54355 72.21256 42
select avg(band_1) from demo where lat <=19.4533 and lat >=21.454 and long <=69.5454 and long >=71.2443
试试这个:
db.collection.aggregate([
{$match : {
$and : [
{"lat" : {$gt : 19}},
{"lat" : {$lt : 22}},
{"long" : {$gt : 70}},
{"long" : {$lt : 90}}
]
}},
{$group : {
_id : null,
averageband : {$avg : "$band_1"}
}}
])
这将让你开始&@Veeram我已经厌倦了你的链接,你的链接带有这种db.demo.aggregate([{“$group”:{“经度”:{“$gte”:73.83152067661285,$lte”:73.83841931819916},“纬度”:{“$gte”:20.19826172705546,$lte:20.201649925580337},{“波段4”:{“$avg”:“$band"}但我仍然无法获取平均值将查询部分移动到stage并获取匹配文档中的平均值。类似于
db.demo.aggregate([{$match:{“经度”:{“$gte”:73.83152067661285,“$lte”:73.83841931819916},“纬度”:{“$gte”:20.19826172705546,$lte:20.201649925580337},{“$group”:{“{id”:null,“band_4”:{“$avg”:“$band_4”}}}}])
@Veeram does this will apply”和“operation yes文档中的所有查询条件都是隐式的。