Dela via


$dateFromParts

Operatorn $dateFromParts skapar ett datum från enskilda komponenter, till exempel år, månad, dag, timme, minut, sekund och millisekunder. Den här operatorn kan vara användbar när du hanterar data som lagrar datumkomponenter separat.

Syntax

{ $dateFromParts: { year: <year>, month: <month>, day: <day>, hour: <hour>, minute: <minute>, second: <second>, millisecond: <millisecond>, timezone: <timezone> } }

Parametrar

Parameter Description
year Årskomponenten för datumet.
month Månadskomponenten för datumet.
day Dagkomponenten för datumet.
hour Timkomponenten för datumet.
minute Minutkomponenten för datumet.
second Den andra komponenten i datumet.
millisecond Millisekunderskomponenten för datumet.
timezone Valfritt. En tidszonsspecifikation.

Exempel

Exempel 1: Skapa ett startdatum

Så här skapar du startdatumet för ett kampanjevenemang:

db.collection.aggregate([
  {
    $project: {
      eventName: 1,
      startDate: {
        $dateFromParts: {
          year: "$promotionEvents.promotionalDates.startDate.Year",
          month: "$promotionEvents.promotionalDates.startDate.Month",
          day: "$promotionEvents.promotionalDates.startDate.Day"
        }
      }
    }
  }
])

Exempel 2: Skapa ett slutdatum

Så här skapar du slutdatumet för ett kampanjevenemang:

db.collection.aggregate([
  {
    $project: {
      eventName: 1,
      endDate: {
        $dateFromParts: {
          year: "$promotionEvents.promotionalDates.endDate.Year",
          month: "$promotionEvents.promotionalDates.endDate.Month",
          day: "$promotionEvents.promotionalDates.endDate.Day"
        }
      }
    }
  }
])