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 }

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

Пример 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 }

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

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

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.