sql >> Database >  >> NoSQL >> MongoDB

Hoe de top 5 waarden in mongodb te vinden? en mag niet dezelfde waarde bevatten

Welnu, u kunt de aggregatiepijplijn gebruiken om gegevens te groeperen en te projecteren in het formaat dat u wilt zien.

db.col.aggregate([
{$group:{_id:"$Appname", softcount:{$max:"$softcount"}}},
{$project:{_id:0, "Appname":"$_id", softcount:1}},
{$sort:{softcount:-1}},
{$limit: 5}
])

dit zal het volgende resultaat afdrukken, op voorwaarde dat de invoer is wat u in uw vraag noemde.

{ 
    "softcount" : 10.0, 
    "Appname" : "ktr"
}
{ 
    "softcount" : 8.0, 
    "Appname" : "rsr"
}
{ 
    "softcount" : 6.0, 
    "Appname" : "ssl"
}
{ 
    "softcount" : 5.0, 
    "Appname" : "ppr"
}
{ 
    "softcount" : 4.0, 
    "Appname" : "crs"
}

U kunt meer te weten komen over het aggregatieraamwerk van MongoDB op https://docs.mongodb.org/manual/aggregation /



  1. verbind ECONNREFUSED 127.0.0.1:27017'

  2. Invoegen in mongodb met perl

  3. BSON-bestand lezen in Python?

  4. MongoDB $pull-syntaxis