Mongodb: documenten sorteren op datum


U kunt de volgende methoden gebruiken om documenten te sorteren op datumveld in MongoDB:

Methode 1: Sorteer op oplopende datum

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

Methode 2: Sorteer op aflopende datum

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

De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken bij een verzamelverkoop met de volgende documenten:

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

Voorbeeld 1: Sorteer op oplopende datum

We kunnen de volgende code gebruiken om alle documenten op datum en in oplopende volgorde te sorteren:

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

Deze query retourneert de volgende resultaten:

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

Houd er rekening mee dat het document met de oudste datum (20-01-2020) als eerste verschijnt, terwijl het document met de nieuwste datum (24-01-2020) als laatste verschijnt.

Voorbeeld 2: Sorteer op aflopende datum

We kunnen de volgende code gebruiken om alle documenten in aflopende volgorde op datum te sorteren:

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

Deze query retourneert de volgende resultaten:

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

Houd er rekening mee dat het document met de meest recente datum (24-01-2020) als eerste verschijnt, terwijl het document met de oudste datum (20-01-2020) als laatste verschijnt.

Let op : De volledige documentatie voor de sorteerfunctie vindt u hier .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in MongoDB kunt uitvoeren:

MongoDB: Hoe u een nieuw veld toevoegt
MongoDB: Hoe een veld te verwijderen
MongoDB: Groeperen op en tellen
MongoDB: groeperen op meerdere velden

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert