{
_id: ObjectId("63a9678da72f51f8dc89dfcf"),
Country: 'Afghanistan',
Region: 'ASIA (EX. NEAR EAST)',
Population: 31056997,
'Area (sq': { ' mi': { ')': 647500 } },
'Net migration': '23,06',
Climate: 0,
Birthrate: 46.6,
Deathrate: 20.34,
Agriculture: 0.38,
}
这是蒙戈收集数据。我需要找到所有国家出生率低于20,按地区分组,找到最低出生率地区
db.data.aggregate([{$group:{_id:{Country:"$Country"},Birthrate:{$lt:20}}}])
我试过这个,但没有得到输出。
1条答案
按热度按时间wgx48brx1#
可以使用以下聚合查询:
$match
只有出生率低于期望值。$sort
乘以Birthrate
,以获得第一个位置的最小值。$first
按区域排序$group
。在对文档进行排序时,第一个值将是最小的。例如here。
此外,如果您希望从文档中获取所有值,而不仅仅是
Birthrate
,则可以像使用this example一样使用"$first": "$$ROOT"