MongoDB $ DayOfmonth $ Dayofweek $ DayOfyear

MongoDB $ DayOfmonth $ Dayofweek $ DayOfyear

MongoDB Aggregation Pipeline -metoden gir datooperatørene for å trekke ut dagen fra datoen. Fra disse operatørene har vi $ DayOfmonth, $ DayOfweek og $ Dayofyear -operatører som får dagen deretter. Operatøren på $ DayOfmonth returnerer månedens dag for en bestemt dato som et heltall mellom 1 og 31. Dayofweek -operatøren genererer et tall mellom 1 og 7 som ukens dag. Deretter har vi en $ Dayofyear -operatør i MongoDB som gir et heltall mellom 1 og 366 som dagen for året for en gitt dato. Disse datooperatørene tar en dato som en ISO -formatdato eller et dokument som definerer dato og tidssone for å bruke. Tidssonen som brukes av disse operatørene for utfallet er en valgfri spesifikasjon. Alle disse operatørene av MongoDB er like i implementeringen, men funksjonaliteten varierer.

Hvordan bruke $ DayOfmonth, $ dayofweek og $ dayofyear i MongoDB

$ DayOfmonth, $ dayofweek og $ dayofyear i MongoDB brukes til å få månedens dag, ukedag og årsdag. Avhengig av operatøren har vi valgt den oppgitte datoen. Disse operatørene håndterer utelukkende datoene i MongoDB, som navnene deres skulle indikere. Så vi krever samlingen i MongoDB som består av datodokumentene. Her bruker vi "DepartmentDate" -samlingen som bruker InsertMany () -metoden for å sette inn følgende dokumenter.

db.Avtaledato.INSERTMANY ([

"_id": ObjectId ("63c7e2f7a54df35af58bbdf0"),
"Avtaler": "Hårspa",
"Dato": Isodate ("2023-11-30T13: 10: 25.125Z ")
,

"_id": ObjectId ("63c7e2f7a54df35af58bbdf1"),
"Avtale": "Hudpleie",
"Dato": Isodate ("2023-03-21T15: 25: 10.103z ")
,

"_id": ObjectId ("63c7e2f7a54df35af58bbdf2"),
"Avtaler": "Nail Extension",
"Dato": Isodate ("2022-12-30T20: 30: 15.123z ")
,

"_id": ObjectId ("63c7e2f7a54df35af58bbdf3"),
"Avtaler": "Party Makeup",
"Dato": Isodate ("2021-08-27T10: 05: 12.160Z ")
,

"_id": ObjectId ("63c7e2f7a54df35af58bbdf4"),
"Avtaler": "Hånd og føtter spa",
"Dato": Isodate ("2022-10-10T22: 21: 19.110z ")

])

Dokumentene settes inn i den gitte samlingen “Avtalerdato” i henhold til utdata oppnådd nedenfor. Nå kan vi ansette $ DayOfmonth, $ DayOfweek og $ Dayofyear -operatøren over disse dato -dokumentene for å få dagen fra datoen deretter.


Anerkjent: sant,
innsats:
'0': ObjectId ("63c7e2f7a54df35af58bbdf0"),
'1': ObjectId ("63c7e2f7a54df35af58bbdf1"),
'2': ObjectId ("63c7e2f7a54df35af58bbdf2"),
'3': ObjectId ("63c7e2f7a54df35af58bbdf3"),
'4': ObjectId ("63c7e2f7a54df35af58bbdf4")

Eksempel 1: Bruke operatøren på $ DayOfmonth for å få måneden i måneden i MongoDB

$ DayOfmonth -operatøren er ansatt først for å få dagen i måneden fra den gitte datoen. Vi har brukt $ prosjektoperatøren der $ DayOfmonth -operatøren blir kalt til å utføre driften av å hente månedsdagen. $ DayOfmonth -operatøren er definert med uttrykket “$ date”. Fra feltet $ dato vil $ DayOfmonth få månedsdagen inn i det anslåtte feltet "AvtalerdayOfmonth".

db.Avtaledato.aggregat (
[

$ prosjekt:

_id: 0,
"AvtalerdayOfmonth": $ DayOfmonth: "$ date"


]
).ganske()

Operatøren på $ DayOfmonth løser alle datoverdiene innen $ dato -feltet og returnerer månedsdagen som ligger i et område fra “1” til “31”.

[
Avtaler av month: 30,
Avtaler av month: 21,
Avtaler av month: 30,
Avtaler av month: 27,
Avtaler av month: 10
]

Eksempel nr. 2: Bruke operatøren på $ DayOfmonth for å få dagen i måneden i en spesifikk tidssone i MongoDB

Vi kan spesifisere en tidssone som skal brukes til utdataene fra operatøren på $ DayOfmonth. Tidssonen er spesifisert ved hjelp av UTC -forskyvningen i dette eksemplet på $ DayOfmonth -operatøren. Men vi kan gi alle tidsspesifikasjoner til operatøren på $ DayOfmonth for å få dagen i måneden i den aktuelle regionen. Vi har satt $ prosjektoperatøren der vi skjuler "_id" -feltet ved å tilordne verdien "0". Etter det opprettet vi feltet “UTCOFFSET1” for å påkalle $ DayOfmonth -operatøren. Operatøren på $ DayOfmonth tar $ dato-feltet som en "dato" argumentverdi og tidssone-argumentet som et "-1000" UTC-forskyvning. Deretter opprettet vi et annet felt “UTCOFFSET2” i $ Project Stage for å utføre en annen operasjon av $ DayOfmonth -operatøren med UTC Offset Timezone. Her har vi spesifisert tidssone -argumentet med UTC -forskyvningen “+1200” for $ dato -feltet.

db.Avtaledato.aggregat (
[

$ prosjekt:
_id: 0,
"utcoffset1":
$ DayOfmonth: Dato: "$ date", timezone: "-0900"
,
"utcoffset2":
$ DayOfmonth: Dato: "$ Dato", TimeZone: "+1100"



]
).ganske()

Den resulterende dagen i måneden i den spesifiserte UTC Offset TimeZone fra $ DayOfmonth -operatøren vises som følger.

[
UtcOffset1: 30, UtcOffset2: 1,
UtcOffset1: 21, UtcOffset2: 22,
UtcOffset1: 30, UtcOffset2: 31,
UtcOffset1: 27, UtcOffset2: 27,
UtcOffset1: 10, UtcOffset2: 11
]

Eksempel nr. 3: Bruke operatøren på $ Dayofweek for å få ukens dag i MongoDB

$ DateOfweek -operatøren brukes på samme måte som vi har satt $ DayOfmonth i MongoDB. Den eneste forskjellen er i funksjonalitetene deres. Operatøren på $ DayOfweek brukes til å få ukedagen fra datoen. Vi har brukt $ DayOfWeek -operatøren i feltet "Avtaleredayofweek" som er definert i $ Project Stage. Etter det tildeles $ DayOfWeek -operatør.

db.Avtaledato.aggregat (
[

$ prosjekt:

_id: 0,
Avtaleredag: $ dayofweek: "$ date"


]
).ganske()

$ Dayofweek returnerte ukens dag som en numerisk verdi mellom “1” og “7” nedenfor. Nummeret “1” indikerer “Sunday” som er standardens dag og “7” er betegnet som en dag “lørdag”.

[
Avtaler av disse,
AvtaleredayOfWeek: 3,
Avtaler av disse,
Avtaler av disse,
Avtaler av disse
]

Eksempel nr. 4: Bruke operatøren på $ DayOfyear for å få dagen i året i MongoDB

Nå har vi en $ dayofyear -operatør som returnerer dagen for datoen som et numerisk figur. $ Dayofyear er distribuert her inne i feltet "avtale dagsyear" som er opprettet i $ prosjektstadiet. $ Dayofyear er satt med datofeltet "$ dato" fra dokumentet. $ Dayofyear vil gi oss en heltallsverdi som dagen for året fra den oppgitte datoverdien. Årsdagsnummeret ligger mellom nummer 1 til 366.

db.Avtaledato.aggregat (
[

$ prosjekt:

_id: 0,
AvtalerDAYOFYEAR: $ DayOfyear: "$ date"


]
)

$ DayOfyear -operatøren henter årets dager fra alle dato -dokumenter som er inkludert i samlingen.

[
AvtalerDAYOFYEAR: 334,
AvtalerDAGOFYEAR: 80,
AvtalerDAYOFYEAR: 364,
AvtalerDAGOFYEAR: 239,
AvtalerDAGOFYEAR: 283
]

Eksempel 5: Bruke $ DayOfmonth, $ DayOfDay og $ DayOfyear -operatøren med andre datouttrykk i MongoDB

Følgende eksempel bruker andre datooperatører sammen med $ DayOfmonth, $ dayofweek og $ dayofyear -operatørene for å dele datoelementene. Vi har et $ Match Stage der uttrykket er gitt som “avtale”: “Skin Care” for å matche dokumentet med den gitte verdien. Når dokumentet vil bli matchet, utføres $ prosjektstadiet der vi har opprettet de forskjellige feltene for forskjellige datooperasjoner. Alle feltene inneholder datooperatøren sammen med $ DayOfDay, $ DayOfmonth og $ Dayofyear -operatørene. Disse operatørene vil returnere numeriske verdier i henhold til operatøren vi har satt til feltene.

db.Avtaledato.aggregat (
[
$ match: "avtale": "Skin Care",

$ prosjekt:

År: $ år: "$ date",
Måned: $ måned: "$ date",
DayOfmonth: $ DayOfmonth: "$ date",
time: $ time: "$ date",
Minutt: $ minutt: "$ date",
sekunder: $ andre: "$ date",
Millisekunder: $ millisekond: "$ date",
dayofyear: $ dayofyear: "$ date",
DayOfWeek: $ DayOfWeek: "$ date",
Uke: $ uke: "$ date"


]
)

Vi har utdataene som viser de separate datoverdiene fra datooperatørene.

[

_id: 2,
År: 2023,
Måned: 3,
Dagens dag: 21,
time: 15,
Minutter: 25,
sekunder: 10,
Millisekunder: 103,
Dayofyear: 80,
Dayofweek: 3,
Uke: 12

]

Konklusjon

Guiden til MongoDB -datooperatøren som inkluderer $ DayOfmonth, $ DayOfWeek og $ DayOfyear -operatører. Vi har diskutert hver av operatørene med eksempelprogrammet. $ DayOfmonth -operatøren ble brukt i det første eksemplet for å få månedsdagen. Deretter brukte vi $ DayOfmonth -operatøren med tidssone -parameteren for å få månedsdagen i den oppgitte tidssonen. Deretter demonstrerte vi $ DayOfWeek -operatøren for ukedagen til de tildelte datoverdiene. Til slutt har vi et eksempel på $ DayOfyear -operatøren som hjelper oss å kjenne dagen til året fra den faste datoen.