如何在mongodb中执行此查询

如何在mongodb中执行此查询,mongodb,Mongodb,示例文件 { "_id" : ObjectId("5338796453370917f05bb064"), "Sigla" : "CE", "Regiao" : "Nordeste", "Codigo" : 2306009, "Municipio" : "Iracema", "1991" : 52.40499877929688, "2000" : 108.7089996337891, "IDHEducacao" : {

示例文件

{
    "_id" : ObjectId("5338796453370917f05bb064"),
    "Sigla" : "CE",
    "Regiao" : "Nordeste",
    "Codigo" : 2306009,
    "Municipio" : "Iracema",
    "1991" : 52.40499877929688,
    "2000" : 108.7089996337891,
    "IDHEducacao" : {
        "1991" : 0.516,
        "2000" : 0.735
    }
}
{
    "_id" : ObjectId("5338796453370917f05bb065"),
    "Sigla" : "CE",
    "Regiao" : "Nordeste",
    "Codigo" : 2306108,
    "Municipio" : "Irauçuba",
    "1991" : 47.72299957275391,
    "2000" : 62.65800094604492,
    "IDHEducacao" : {
        "1991" : 0.491,
        "2000" : 0.692
    }
}
--->蒙哥达

我提出了以下问题

{"$group":
    {
        "_id":{"Regiao":"$Regiao"},
                "IDHEducao_max_2000" : {"$max" : "$2000"},      
    }
}

我想展示该地区,2000年该领域最大的指数,以及拥有该指数的市政当局。但是我没有得到看起来
2000
是您文档中某个字段的名称,我觉得很奇怪

下面是SQL语句:

SELECT Regiao, MAX( 2000 ) AS Indice FROM table1 GROUP BY Regiao
可以在MongoDB中编写为

db.table1.aggregate([
{“$组”:{
“_id”:{“Regiao”:“$Regiao”},
“IDHEducao_max_2000”:{“$max”:“$2000”}
},
{“$project”:{“\u id”:0,“Regiao”:“$\u id”,“Indice”:“$IDHEducao\u max\u 2000”}
]}
但是这个SQL:

从表1中选择Sigla、Regiao、市政、MAX(2000)作为区域分组的指标
无效。使用分组依据时,只能选择分组依据中使用的字段或其他字段的聚合值(即SUM()、COUNT()等)。但是,如果您只需要其他字段的一些值,则可以使用
$first
$last
运算符。请注意,这些运算符通常仅在排序阶段后使用,以获取最小/最大值:

db.table1.aggregate([
{“$组”:{
“_id”:{“Regiao”:“$Regiao”},
“西格拉”:{“$first”:“$Sigla”}
“市政当局”:{“$first”:“$Municipio”}
“IDHEducao_max_2000”:{“$max”:“$2000”}
},
{“$project”:{“$id”:0,“Sigla”:1,“Regiao”:“$id”,“市政”:1,
“指标”:“$IDHEducao_max_2000”}
]}
编辑:OP已更新为以下问题:

我想展示该地区,2000年该领域最大的指数,以及拥有该指数的市政当局

如果使用聚合管道的
$sort
阶段,后跟
$group
阶段,并使用运算符,则可以获得所需的结果:

db.table1.aggregate([
//排序依据(城市ASC、索引描述)
{$sort:{“Regiao”:1,“2000”:-1},
//按城市分组,得到最大指数和相应的城市
{$group:{
_id:“$Regiao”,
索引:{$first:$2000},
市政:{$first:$Municipio}
}
])

MAX(2000年)!!!这是什么?你真的需要了解这个网站是如何工作的。不要仅仅因为你的其他问题被关闭就发布一个重复的问题。改为编辑。不知何故,你认为这甚至不接近所需的实际结果。你需要在评论中实际提问。阿南德·贾亚巴兰,但是We’有什么方法可以显示房价最高的城市吗?我看不到文档中的任何地方是
城市
房价
?你能编辑你的原始问题,包括一个示例文档,并清楚地说明你到底想查询什么吗?Anand Jayabalan。编辑了question@user3508412,根据我对你问题的理解,我我已经在我的帖子中添加了另一个查询。看看这是否有帮助。