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.01.2020) з’являється першим, а документ із найновішою датою (24.01.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 }

Зауважте, що документ із найновішою датою (2020-01-24) з’являється першим, а документ із найдавнішою датою (2020-01-20) — останнім.

Примітка . Ви можете знайти повну документацію щодо функції сортування тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в MongoDB:

MongoDB: Як додати нове поле
MongoDB: як видалити поле
MongoDB: як групувати та підраховувати
MongoDB: як групувати за кількома полями

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *