Mongodb: как сортировать документы по дате


Вы можете использовать следующие методы для сортировки документов по полю даты в MongoDB:

Способ 1. Сортировка по возрастанию даты.

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

Способ 2. Сортировка по убыванию даты.

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

В следующих примерах показано, как использовать каждый метод при продаже коллекции со следующими документами:

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

Пример 1. Сортировка по возрастанию даты

Мы можем использовать следующий код для сортировки всех документов по дате и в порядке возрастания:

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

Этот запрос возвращает следующие результаты:

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

Обратите внимание, что документ с самой старой датой (20 января 2020 г.) отображается первым, а документ с самой новой датой (24 января 2020 г.) — последним.

Пример 2. Сортировка по убыванию даты.

Мы можем использовать следующий код для сортировки всех документов по дате в порядке убывания:

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

Этот запрос возвращает следующие результаты:

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

Обратите внимание, что документ с самой последней датой (24 января 2020 г.) отображается первым, а документ с самой старой датой (20 января 2020 г.) — последним.

Примечание . Полную документацию по функции сортировки можно найти здесь .

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные операции в MongoDB:

MongoDB: как добавить новое поле
MongoDB: как удалить поле
MongoDB: как группировать и считать
MongoDB: как группировать по нескольким полям

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *