MongoDB $ Dayofmonth $ DayofWeek $ Dayofyear

MongoDB $ Dayofmonth $ DayofWeek $ Dayofyear

Metoda rurociągu agregacji MongoDB zapewnia operatorom daty wyodrębnienia dnia od daty. Od tych operatorów mamy $ Dayofonth, $ Dayofweek i $ Dayofyear, którzy odpowiednio dostają dzień. Operator $ Dayofonth zwraca dzień na datę dla konkretnej daty jako liczba całkowita od 1 do 31. Operator DayofWeek generuje liczbę między 1 a 7 jako dzień tygodnia. Następnie mamy w MongoDB operatora $ Dayofyear, który zapewnia liczbę całkowitą od 1 do 366 jako dzień roku dla danego daty. Ci operatorzy daty zajmują datę jako datę formatu ISO lub dokument, który określa datę i strefę czasową do wykorzystania. Strefa czasowa używana przez tych operatorów do wyniku jest opcjonalną specyfikacją. Wszyscy ci operatorzy MongoDB są podobne w implementacji, ale funkcjonalność jest różna.

Jak używać $ Dayofmonth, $ Dayofweek i $ Dayofyear w MongoDB

$ Dayofmonth, $ Dayofweek i $ Dayofyear w MongoDB są wykorzystywane do otrzymania dnia miesiąca, dnia powszedniego i roku. W zależności od operatora wybraliśmy datę podaną. Operatorzy ci zajmują się wyłącznie datami w MongoDB, jak wskazują ich nazwy. Tak więc potrzebujemy kolekcji w MongoDB, która składa się z dokumentów daty. Tutaj wykorzystujemy kolekcję „data umówionego”, która wykorzystuje metodę InsertMany () do wstawienia następujących dokumentów.

db.Data spotkania.wstrząs

„_ID”: ObjectID (”63C7E2F7A54DF35AF58BBDF0”),
„Wizyta”: „Spa do włosów”,
„Data”: izodat (”2023-11-30T13: 10: 25.125Z ”)
,

„_id”: ObjectID („63C7E2F7A54DF35AF58BBDF1”),
„Spotkanie”: „pielęgnacja skóry”,
„Data”: izodat (”2023-03-21T15: 25: 10.103Z ”)
,

„_ID”: ObjectID (”63C7E2F7A54DF35AF58BBDF2”),
„Spotkanie”: „Rozszerzenie paznokci”,
„Data”: izodat (”2022-12-30T20: 30: 15.123Z ”)
,

„_ID”: ObjectID (”63C7E2F7A54DF35AF58BBDF3”),
„Spotkanie”: „makijaż imprezowy”,
„Data”: izodat (”2021-08-27T10: 05: 12.160Z ”)
,

„_id”: ObjectID (”63C7E2F7A54DF35AF58BBDF4”),
„Wizyta”: „Ręka i stopy Spa”,
„Data”: izodat (”2022-10-10T22: 21: 19.110Z ”)

])

Dokumenty są wstawiane do danego zbioru „dat terminu” zgodnie z wynikami uzyskanymi poniżej. Teraz możemy zastosować $ Dayofonth, $ DayofWeek i $ DayOfyear w tych dokumentach daty, aby odpowiednio odejść od daty.


Uznany: prawda,
InsertedIds:
„0”: ObjectID (”63C7E2F7A54DF35AF58BBDF0”),
„1”: ObjectID (”63C7E2F7A54DF35AF58BBDF1”),
„2”: ObjectID (”63C7E2F7A54DF35AF58BBDF2”),
„3”: ObjectID (”63C7E2F7A54DF35AF58BBDF3”),
„4”: ObjectID (”63C7E2F7A54DF35AF58BBDF4”)

Przykład nr 1: Korzystanie z operatora $ Dayofonth, aby uzyskać dzień miesiąca w MongoDB

Operator $ Dayofonth jest zatrudniony najpierw, aby uzyskać dzień miesiąca od danego terminu. Wykorzystaliśmy operatora projektu $, w którym powołany jest operator $ Dayofonth. Operator $ Dayofonth jest zdefiniowany z wyrażeniem „$ data”. Z daty $ $ Dayofonth dostanie dzień miesiąca do prognozowanego pola „Spotkanie”.

db.Data spotkania.agregat(
[[[

$ Project:

_id: 0,
„MianowanieDayofonth”: $ dayofonth: „$ data”


]
).ładny()

Operator $ Dayofonth rozwiązuje wszystkie wartości daty w polu $ data i zwraca dzień miesiąc, który leży w zakresie od „1” do „31”.

[[[
Umówianie sięDoofonth: 30,
Umówianie sięDoofmonth: 21,
Umówianie sięDoofonth: 30,
Ministerstwo Month: 27,
Umówianie sięDoofonth: 10
]

Przykład nr 2: Korzystanie z operatora $ Dayofonth, aby uzyskać dzień miesiąca w określonej strefie czasowej w MongoDB

Możemy określić strefę czasową do użycia dla wyjścia operatora $ Dayofonth. Strefa czasowa jest określona przy użyciu przesunięcia UTC w tym przykładzie $ Dayofonth Operator. Ale możemy dostarczyć dowolne specyfikacje strefy czasowej operatorowi $ Dayofonth, aby uzyskać dzień miesiąca tego konkretnego regionu. Ustawiliśmy operator $ Project, w którym ukrywamy pole „_id”, przypisując wartość „0”. Następnie utworzyliśmy pole „UTCOFFSET1”, aby wywołać operator $ Dayofonth. Operator $ Dayofonth bierze pole $ datę jako wartość argumentu „dat” i argument strefowy jako „-1000” UTC. Następnie stworzyliśmy kolejne pole „UTCOFFSET2” na etapie $ Project, aby przeprowadzić kolejną operację operatora $ Dayofonth z strefą czasu przesunięcia UTC. Tutaj określiliśmy argument strefy czasowej z przesunięciem UTC „+1200” dla pola $ data.

db.Data spotkania.agregat(
[[[

$ projekt:
_id: 0,
„UTCOFFSET1”:
$ dayofonth: data: „$ data”, strefa czasowa: „-0900”
,
„UTCOFFSET2”:
$ dayofonth: data: „$ data”, stref time: „+1100”



]
).ładny()

Wynikowy dzień miesiąca w określonej strefie czasowej przesunięcia UTC z $ Dayofonth jest wyświetlany w następujący sposób.

[[[
UTCOFFSET1: 30, UTCOFFSET2: 1,
UTCOFFSET1: 21, UTCOFFSET2: 22,
UTCOFFSET1: 30, UTCOFFSET2: 31,
UTCOFFSET1: 27, UTCOFFSET2: 27,
UTCOFFSET1: 10, UTCOFFSET2: 11
]

Przykład nr 3: Korzystanie z operatora $ DayofWeek, aby uzyskać dzień tygodnia w MongoDB

Operator $ DATEOFWEEK jest używany w taki sam sposób, jak ustawiliśmy $ Dayofonth w MongoDB. Jedyną różnicą jest ich funkcje. Operator $ DayofWeek jest używany do otrzymania dnia powszedniego od daty. Wykorzystaliśmy operatora $ DayOfWeek w polu „Ministerka”, który jest zdefiniowany na etapie $ Project. Następnie operator $ DayOfWeek jest przypisany do pola $ data, aby uzyskać wartość w dni powszednie.

db.Data spotkania.agregat(
[[[

$ Project:

_id: 0,
MianowanieDayOfWeek: $ DayOfWeek: „$ data”


]
).ładny()

$ DayofWeek zwrócił dzień tygodnia jako wartość liczbową między „1” a „7” poniżej. Liczba „1” wskazuje „niedzielę”, który jest domyślnym dniem tygodnia, a „7” jest oznaczony jako „sobota”.

[[[
Umówione dni: 5,
Umówione dni: 3,
Umówione dni: 6,
Umówione dni: 6,
Umówione dni: 2
]

Przykład nr 4: Korzystanie z operatora $ DayOfyear, aby uzyskać dzień roku w MongoDB

Teraz mamy operatora $ DayOfyear, który zwraca rok daty jako liczbę numeryczną. $ DayOfyear jest wdrożony tutaj w terenie „mianowanieDayofyear”, który jest tworzony na etapie $ Project. $ DAYOFYEAR jest ustawiony w polu daty „$ data” z dokumentu. $ DayOfyear da nam wartość liczbową jako dzień roku z podanej wartości daty. Liczba roku roku leży między liczbą od 1 do 366.

db.Data spotkania.agregat(
[[[

$ Project:

_id: 0,
Spotkanie wdayofyear: $ dayofyear: „$ data”


]
)

Operator $ DayOfyear pobiera dni roku ze wszystkich dokumentów daty zawartych w kolekcji.

[[[
Ministerstwo Dayofyear: 334,
MianowanieDayOfyear: 80,
Ministerstwo Dayofyear: 364,
MianowanieDayOfyear: 239,
MianowanieDayOfyear: 283
]

Przykład nr 5: Korzystanie z $ Dayofonth, $ Dayofday i $ Dayofyear z innymi wyrażeniami dat w MongoDB

Poniższy przykład wykorzystuje innych operatorów dat wraz z operatorami $ Dayofonth, $ DayofWeek i $ Dayofyear, aby podzielić elementy daty. Mamy etap $ mecz, w którym wyrażenie jest podane jako „termin”: „pielęgnacja skóry”, aby dopasować dokument do danej wartości. Kiedy dokument zostanie dopasowany, wówczas wykonywany jest etap projektu $, w którym utworzyliśmy różne pola dla różnych operacji daty. Wszystkie pola zawierają operator daty wraz z operatorami DayofDay, $ Dayofonth i $ Dayofyear. Te operatorzy zwrócą wartości liczbowe zgodnie z operatorem, który ustawiliśmy na polach.

db.Data spotkania.agregat(
[[[
$ match: „termin”: „pielęgnacja skóry”,

$ Project:

Rok: $ rok: „$ data”,
Miesiąc: $ miesiąc: „$ data”,
Dayofonth: $ dayofonth: „$ data”,
godzina: $ godzina: „$ data”,
Minuty: $ minute: „$ data”,
sekundy: $ second: „$ data”,
MiliseConds: $ milisecond: „$ data”,
DayOfyear: $ dayofyear: „$ data”,
DayOfWeek: $ dayofweek: „$ data”,
Tydzień: $ tydzień: „$ data”


]
)

Mamy dane wyjściowe, które pokazują oddzielone wartości daty od operatorów daty.

[[[

_id: 2,
Rok: 2023,
Miesiąc: 3,
Dayofday: 21,
Godzina: 15,
Minuty: 25,
Seconds: 10,
milisekundy: 103,
Dayofyear: 80,
DayofWeek: 3,
Tydzień: 12

]

Wniosek

Przewodnik operatora daty MongoDB, który obejmuje $ Dayofonth, $ Dayofweek i $ Dayofyear. Omówiliśmy każdego z operatorów z przykładowym programem. Operator $ Dayofonth został użyty w pierwszym przykładzie, aby uzyskać dzień miesiąca. Następnie wykorzystaliśmy operatora $ Dayofonth z parametrem strefy czasowej, aby uzyskać dzień miesiąca w dostarczonej strefie czasowej. Następnie zademonstrowaliśmy operatora $ DayOfWeek na dzień powszedni do przypisanych wartości daty. Na koniec mamy przykład operatora $ DayOfyear, który pomaga nam poznać dzień roku od ustalonej daty.