Mongodb: como classificar documentos por data


Você pode usar os seguintes métodos para classificar documentos por campo de data no MongoDB:

Método 1: classificar por data crescente

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

Método 2: classificar por data decrescente

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

Os exemplos a seguir mostram como usar cada método em uma venda de coleção com os seguintes documentos:

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

Exemplo 1: Classificar por data crescente

Podemos usar o seguinte código para classificar todos os documentos por data e em ordem crescente:

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

Esta consulta retorna os seguintes resultados:

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

Observe que o documento com a data mais antiga (2020-01-20) aparece primeiro, enquanto o documento com a data mais recente (2020-01-24) aparece por último.

Exemplo 2: Classificar por data decrescente

Podemos usar o seguinte código para classificar todos os documentos por data em ordem decrescente:

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

Esta consulta retorna os seguintes resultados:

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

Observe que o documento com a data mais recente (2020-01-24) aparece primeiro, enquanto o documento com a data mais antiga (2020-01-20) aparece por último.

Nota : Você pode encontrar a documentação completa da função sort aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras operações comuns no MongoDB:

MongoDB: Como adicionar um novo campo
MongoDB: Como excluir um campo
MongoDB: Como agrupar e contar
MongoDB: Como agrupar por vários campos

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *