使用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文档中的所有查询条件都是隐式的。