MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Menemukan entri N teratas dari Array

Pada dasarnya Anda perlu mengurutkan elemen array ($unwind /$sort /$group ) dan kemudian Anda dapat melakukan $sort Anda untuk nilai teratas dan $limit hasilnya.

Akhirnya Anda $slice untuk "N teratas" dalam dokumen dalam larik.

db.eplat1.aggregate([
  { "$unwind": "$Trips" },
  { "$sort": { "_id": 1, "Tips.TripCount": -1 } },
  { "$group": {
    "_id": "$_id",
    "Trips": { "$push": "$Trips" },
    "maxTrip": { "$max": "$Trips.TripCount" }
  }},
  { "$sort": { "maxTrip": -1 } },
  { "$limit": 50 },
  { "$addFields": { "Trips": { "$slice": [ "$Trips", 0 , 2 ] } } }
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Permintaan untuk mendapatkan nilai dengan mengurangi nilai dari dokumen saat ini dan berikutnya

  2. Menggunakan Jade untuk mengulangi JSON

  3. Persimpangan indeks MongoDB

  4. Pertempuran Database NoSQL - Membandingkan MongoDB &Cassandra

  5. Bson cukup mencetak menggunakan driver Java MongoDb