MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да намеря топ 5 стойности в mongodb? и не трябва да съдържа същата стойност

Е, можете да използвате тръбопровод за агрегиране, за да групирате и проектирате данни във формат, който искате да видите.

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

това ще отпечата следния резултат, при условие че входът е това, което споменахте във вашия въпрос.

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

Можете да научите повече за рамката за агрегиране на MongoDB на https://docs.mongodb.org/manual/aggregation /



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. изваждането в mongo заявката не работи?

  2. Премахване на конкретни елементи от масива с MongoDB

  3. mongoDB различен и къде в същата заявка?

  4. Stripe:Трябва да посочи източник или клиент

  5. Как да показвате данни от MongoDB към интерфейса чрез Node.js без да използвате рамка