Mongodb: cara menemukan nilai maksimum dalam suatu koleksi
Anda dapat menggunakan metode berikut untuk menemukan nilai maksimum suatu bidang di MongoDB:
Metode 1: Kembalikan dokumen yang berisi nilai maksimum
db.teams.find().sort({" field ": -1 }).limit( 1 )
Potongan kode ini mengurutkan semua dokumen dalam koleksi dalam urutan menurun berdasarkan bidang tertentu, lalu hanya mengembalikan dokumen pertama.
Metode 2: Kembalikan hanya nilai maksimum
db.teams.find().sort({" field ": -1 }).limit( 1 ).toArray().map(function(u){ return u.field})
Contoh berikut menunjukkan cara menggunakan setiap metode dengan tim pengumpulan dengan dokumen berikut:
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Warriors ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
Contoh 1: Mengembalikan dokumen yang berisi nilai maksimum
Kita dapat menggunakan kode berikut untuk mengembalikan dokumen yang berisi nilai maksimum di bidang “poin”:
db.teams.find().sort({" points ": -1 }).limit( 1 )
Kueri ini mengembalikan dokumen berikut:
{ _id: ObjectId("618285361a42e92ac9ccd2c6"), team: 'Cavs', position: 'Guard', points: 33 }
Dokumen ini dikembalikan karena berisi nilai tertinggi (33) pada kolom “poin” di antara semua dokumen.
Contoh 2: Kembalikan hanya nilai maksimum
Kita dapat menggunakan kode berikut untuk mengembalikan hanya nilai maksimum di bidang “poin” pada semua dokumen:
db.teams.find().sort({" points ": -1 }).limit( 1 ).toArray().map(function(u){ return u.points})
Kueri ini mengembalikan hasil berikut:
[33]
Perhatikan bahwa hanya nilai maksimal itu sendiri (33) yang dikembalikan, bukan seluruh dokumen yang berisi nilai maksimal.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di MongoDB:
MongoDB: Cara mengelompokkan dan menghitung
MongoDB: Cara mengelompokkan berdasarkan beberapa bidang
MongoDB: Cara memeriksa apakah bidang berisi string