我是mongodb和jsp的新手,并试图找出每个州的第三大城市。我尝试使用$ last,$ sort和$ max函数,但无法解决它。 我写了一个查询来显示每个州的最大城市:
db.citycollect.aggregate([{$ group:{_ id:{state:“$ state”,city:“$ city”},pop:{$ sum:“$ pop”}}},{$ sort :{pop:1}},{$ group:{_ id:“$ _id.state”,largestCity:{$ last:“$ _id.city”},largestPop:{$ last:“$ pop”},smallestCity: {$ first:“$ _id.city”},smallestPop:{$ first:“$ pop”}}},{$ project:{_ id:0,state:“$ _id”,largestCity:“$ largestCity”}} ])
现在,我有兴趣找到每个州的第三大城市。我尝试使用$ skip和$ limit但没有得到正确的输出。