Mongodb: come ordinare i documenti per data


È possibile utilizzare i seguenti metodi per ordinare i documenti in base al campo data in MongoDB:

Metodo 1: ordinamento per data crescente

 db.sales.find().sort({" date_field ": 1 })

Metodo 2: ordinamento per data discendente

 db.sales.find().sort({" date_field ": -1 }) 

I seguenti esempi mostrano come utilizzare ciascun metodo con una vendita in collezione con i seguenti documenti:

 db.sales.insertOne({day: new Date(" 2020-01-20 "), amount: 40 })
db.sales.insertOne({day: new Date(" 2020-01-21 "), amount: 32 })
db.sales.insertOne({day: new Date(" 2020-01-22 "), amount: 19 })
db.sales.insertOne({day: new Date(" 2020-01-23 "), amount: 29 })
db.sales.insertOne({day: new Date(" 2020-01-24 "), amount: 35 })

Esempio 1: ordinamento per data crescente

Possiamo utilizzare il seguente codice per ordinare tutti i documenti per data e in ordine crescente:

 db.sales.find().sort({" day ": 1 }) 

Questa query restituisce i seguenti risultati:

 { _id: ObjectId("6189401696cd2ba58ce928fa"),
  day: 2020-01-20T00:00:00.000Z,
  amount: 40 }

{ _id: ObjectId("6189401696cd2ba58ce928fb"),
  day: 2020-01-21T00:00:00.000Z,
  amount: 32 }

{ _id: ObjectId("6189401696cd2ba58ce928fc"),
  day: 2020-01-22T00:00:00.000Z,
  amount: 19 }

{ _id: ObjectId("6189401696cd2ba58ce928fd"),
  day: 2020-01-23T00:00:00.000Z,
  amount: 29 }

{ _id: ObjectId("6189401696cd2ba58ce928fe"),
  day: 2020-01-24T00:00:00.000Z,
  amount: 35 }

Tieni presente che il documento con la data più vecchia (2020-01-20) appare per primo mentre il documento con la data più recente (2020-01-24) appare per ultimo.

Esempio 2: ordinamento per data discendente

Possiamo utilizzare il seguente codice per ordinare tutti i documenti per data in ordine decrescente:

 db.sales.find().sort({" day ": -1 }) 

Questa query restituisce i seguenti risultati:

 { _id: ObjectId("6189401696cd2ba58ce928fe"),
  day: 2020-01-24T00:00:00.000Z,
  amount: 35 }

{ _id: ObjectId("6189401696cd2ba58ce928fd"),
  day: 2020-01-23T00:00:00.000Z,
  amount: 29 }

{ _id: ObjectId("6189401696cd2ba58ce928fc"),
  day: 2020-01-22T00:00:00.000Z,
  amount: 19 }

{ _id: ObjectId("6189401696cd2ba58ce928fb"),
  day: 2020-01-21T00:00:00.000Z,
  amount: 32 }

{ _id: ObjectId("6189401696cd2ba58ce928fa"),
  day: 2020-01-20T00:00:00.000Z,
  amount: 40 }

Tieni presente che il documento con la data più recente (2020-01-24) appare per primo mentre il documento con la data più vecchia (2020-01-20) appare per ultimo.

Nota : puoi trovare la documentazione completa per la funzione di ordinamento qui .

Risorse addizionali

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

MongoDB: come aggiungere un nuovo campo
MongoDB: come eliminare un campo
MongoDB: come raggruppare e contare
MongoDB: come raggruppare per più campi

Aggiungi un commento

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