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: як групувати за кількома полями