Mongodb: come trovare il valore massimo in una raccolta


Puoi utilizzare i seguenti metodi per trovare il valore massimo di un campo in MongoDB:

Metodo 1: restituisce un documento contenente il valore massimo

 db.teams.find().sort({" field ": -1 }).limit( 1 )

Questa parte di codice ordina tutti i documenti della raccolta in ordine decrescente in base a un campo specifico, quindi restituisce solo il primo documento.

Metodo 2: restituisce solo il valore massimo

 db.teams.find().sort({" field ": -1 }).limit( 1 ).toArray().map(function(u){ return u.field})

I seguenti esempi mostrano come utilizzare ciascun metodo con un team di raccolta con i seguenti documenti:

 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 })

Esempio 1: restituisce un documento contenente un valore massimo

Possiamo utilizzare il seguente codice per restituire il documento che contiene il valore massimo nel campo “punti”:

 db.teams.find().sort({" points ": -1 }).limit( 1 ) 

Questa query restituisce il seguente documento:

 { _id: ObjectId("618285361a42e92ac9ccd2c6"),
  team: 'Cavs',
  position: 'Guard',
  points: 33 }

Questo documento viene restituito perché contiene il valore più alto (33) nel campo “punti” tra tutti i documenti.

Esempio 2: restituisce solo il valore massimo

Possiamo utilizzare il seguente codice per restituire solo il valore massimo nel campo “punti” su tutti i documenti:

 db.teams.find().sort({" points ": -1 }).limit( 1 ).toArray().map(function(u){ return u.points})

Questa query restituisce il seguente risultato:

 [33]

Tieni presente che viene restituito solo il valore massimo stesso (33) anziché l’intero documento contenente il valore massimo.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni in MongoDB:

MongoDB: come raggruppare e contare
MongoDB: come raggruppare per più campi
MongoDB: come verificare se il campo contiene una stringa

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *