sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan finder man top 5 værdier i mongodb? og bør ikke indeholde samme værdi

Nå, du kan bruge aggregeringspipeline til at gruppere og projektere data i det format, du ønsker at se.

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

dette vil udskrive følgende resultat, forudsat at input er det, du nævnte i dit spørgsmål.

{ 
    "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"
}

Du kan lære mere om MongoDB aggregation framework på https://docs.mongodb.org/manual/aggregation /



  1. Find største dokumentstørrelse i MongoDB

  2. MongoDB tælle kommando

  3. MongoError:getaddriinfo ENOTFOUND undefined undefined:27017

  4. Sådan opretter du array af arrays af objekter i Mongoose.js