簡體   English   中英

如何在mongodb中使用聚合?

[英]how to use aggregation in mongodb?

Mongo noob在這里。

好的,我收集了總共30000個(約)拉鏈。

他們看起來像這樣...

{ "city" : "EPES", "loc" : [ -88.161443, 32.763371 ], "pop" : 1391, "state" : "AL", "_id" : "35460" }
{ "city" : "ETHELSVILLE", "loc" : [ -88.221987, 33.386816 ], "pop" : 719, "state" : "AL", "_id" : "35461" }
{ "city" : "EUTAW", "loc" : [ -87.930297, 32.888871 ], "pop" : 6586, "state" : "AL", "_id" : "35462" }
{ "city" : "FOSTERS", "loc" : [ -87.735688, 33.135859 ], "pop" : 2100, "state" : "AL", "_id" : "35463" }
{ "city" : "GAINESVILLE", "loc" : [ -88.271558, 32.908364 ], "pop" : 1051, "state" : "AL", "_id" : "35464" }
{ "city" : "GORDO", "loc" : [ -87.900504, 33.346917 ], "pop" : 4333, "state" : "AL", "_id" : "35466" }
{ "city" : "KNOXVILLE", "loc" : [ -87.791855, 32.982423 ], "pop" : 373, "state" : "AL", "_id" : "35469" }
{ "city" : "COATOPA", "loc" : [ -88.173592, 32.588509 ], "pop" : 6055, "state" : "AL", "_id" : "35470" }
{ "city" : "CYPRESS", "loc" : [ -87.615134, 32.978853 ], "pop" : 2659, "state" : "AL", "_id" : "35474" }
{ "city" : "NORTHPORT", "loc" : [ -87.591441, 33.283425 ], "pop" : 20114, "state" : "AL", "_id" : "35476" }

我需要使用聚合來找到其中郵政編碼第四高的州...我不知道。

任何幫助表示贊賞

解:

db.zips.aggregate([ {$group:{_id:{state:"$state"},numberOfzipcodes:{$sum:1}}}, {$sort:{numberOfzipcodes:-1}}, {$limit:4}])

//按州分組,然后找到每個州的郵政編碼總數,然后按降序總數//排序。 然后使用跳過跳過前3個狀態並將其限制為1

db.zips.aggregate([[{$ group:{_ id:{state:“ $ state”},zips:{$ sum:1}}},{$ sort:{zips:-1}},{$ skip: 3},{$ limit:1}])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM