使用mongoDB聚合函数$min查询

使用mongoDB聚合函数$min查询,mongodb,aggregation-framework,Mongodb,Aggregation Framework,我使用的数据集集合中的每个文档看起来都像 {“_id”:“10280”,“城市”:“纽约”,“州”:“纽约”,“流行”: 5574,“loc”:[ -74.016323, 40.710537]} 请建议我如何编写查询以查找各州人口最少的城市 我发现下面的查询返回了各州的平均城市人口,效果很好 db.collection1.aggregate( [ { $group: { _id: { state: "$state", city: "$city" }, pop: { $sum: "$pop"

我使用的数据集集合中的每个文档看起来都像

{“_id”:“10280”,“城市”:“纽约”,“州”:“纽约”,“流行”: 5574,“loc”:[ -74.016323, 40.710537]}

请建议我如何编写查询以查找各州人口最少的城市

我发现下面的查询返回了各州的平均城市人口,效果很好

db.collection1.aggregate( [
   { $group: { _id: { state: "$state", city: "$city" }, pop: { $sum: "$pop" } } },
   { $group: { _id: "$_id.state", avgCityPop: { $avg: "$pop" } } }
] )
因为我不熟悉mongodb查询,所以我尝试编辑同一个查询以查找最小值,但也遇到了一个错误

 db.collection1.aggregate( [
   { $group: { _id: { state: "$state", city: "$city" }, pop: { $sum: "$pop" } } },
   { $group: { _id: "$_id.city”, minCityPop: { $min: "$pop" } } }
] )
错误:SyntaxError:意外标记]

请建议此查询或其他查询中有什么错误


谢谢你

正如语法突出显示的那样,你似乎在
“$\id.city
的末尾有一个错误的智能引号,而不是一个普通的双引号。可能就是这样。你是对的@johnyhk,谢谢:)查询可以工作,但我没有得到结果,现在我得到了这个{“\u id”:null,“avgCityPop”:0}.然而,我正在寻找类似于{“_id”:纽约,“avgCityPop”:5574}的东西-假设这是整个文件中人口最少的城市。@n完成这个任务对我来说很熟悉。M102或M202?如果是这样,你应该仔细阅读。你不仅降低了你(和其他人)所说课程的价值。你是一个简单任务的捷径。而且你需要DBA/CD考试的个人经验,因为谷歌搜索和搜索是不可能的。