Mongodb: jak sortować dokumenty według daty


Do sortowania dokumentów według pola daty w MongoDB możesz użyć następujących metod:

Metoda 1: Sortuj według daty rosnącej

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

Metoda 2: Sortuj według daty malejącej

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

Poniższe przykłady pokazują, jak używać każdej metody w przypadku sprzedaży kolekcjonerskiej z następującymi dokumentami:

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

Przykład 1: Sortuj według daty rosnącej

Możemy użyć poniższego kodu, aby posortować wszystkie dokumenty według daty i w kolejności rosnącej:

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

To zapytanie zwraca następujące wyniki:

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

Należy pamiętać, że dokument z najstarszą datą (2020-01-20) pojawia się jako pierwszy, a dokument z najnowszą datą (24.01.2020) pojawia się jako ostatni.

Przykład 2: Sortuj według daty malejącej

Możemy użyć poniższego kodu, aby posortować wszystkie dokumenty według daty w kolejności malejącej:

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

To zapytanie zwraca następujące wyniki:

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

Należy pamiętać, że dokument z najnowszą datą (2020-01-24) pojawia się jako pierwszy, a dokument z najstarszą datą (2020-01-20) pojawia się jako ostatni.

Uwaga : Pełną dokumentację funkcji sortowania znajdziesz tutaj .

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w MongoDB:

MongoDB: Jak dodać nowe pole
MongoDB: Jak usunąć pole
MongoDB: Jak grupować i liczyć
MongoDB: Jak grupować według wielu pól

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *