MongoDB $ dayofmonth $ dayofweek $ dayofyear

MongoDB $ dayofmonth $ dayofweek $ dayofyear

Il metodo della pipeline di aggregazione MongoDB fornisce agli operatori della data di estrarre la giornata dalla data. Da quegli operatori, abbiamo $ dayofmonth, $ dayofweek e $ dayofyear che ottengono la giornata di conseguenza. L'operatore di $ dayofmonth restituisce il giorno del mese per una data particolare come numero intero tra 1 e 31. L'operatore di DayofWeek genera una cifra tra 1 e 7 come giorno della settimana. Successivamente, abbiamo un operatore di $ dayofyear a MongoDB che fornisce un numero intero tra 1 e 366 come giorno dell'anno per una determinata data. Questi operatori della data prendono una data come data del formato ISO o un documento che definisce la data e il fuso orario da utilizzare. Il fuso orario utilizzato da questi operatori per il risultato è una specifica opzionale. Tutti questi operatori di MongoDB sono simili nell'implementazione ma la funzionalità varia.

Come usare $ dayofmonth, $ dayofweek e $ dayofyear a MongoDB

I $ Dayofmonth, $ Dayofweek e i $ Dayofyear a MongoDB sono usati per ottenere il giorno del mese, i giorni feriali e il giorno. A seconda dell'operatore, abbiamo selezionato la data fornita. Questi operatori si occupano esclusivamente delle date di Mongodb, come indicherebbero i loro nomi. Quindi, abbiamo bisogno della raccolta a MongoDB che consiste nei documenti della data. Qui, stiamo utilizzando la raccolta di "appuntamenti" che utilizza il metodo insertmany () per inserire i seguenti documenti.

db.Data dell'appuntamento.InsertMany ([

"_id": objectid ("63c7e2f7a54df35af58bbdf0"),
"Appuntamento": "Hair Spa",
"Data": Isodate ("2023-11-30T13: 10: 25.125Z ")
,

"_id": objectid ("63c7e2f7a54df35af58bbdf1"),
"Appuntamento": "cura della pelle",
"Data": Isodate ("2023-03-21T15: 25: 10.103Z ")
,

"_id": objectid ("63c7e2f7a54df35af58bbdf2"),
"Appuntamento": "estensione delle unghie",
"Data": Isodate ("2022-12-30T20: 30: 15.123Z ")
,

"_id": objectid ("63c7e2f7a54df35af58bbdf3"),
"Appuntamento": "trucco della festa",
"Data": ISODATE ("2021-08-27T10: 05: 12.160Z ")
,

"_id": objectid ("63c7e2f7a54df35af58bbdf4"),
"Appuntamento": "Spa mano e piedi",
"Data": Isodate ("2022-10-10T22: 21: 19.110Z ")

])

I documenti sono inseriti all'interno della raccolta data "appuntamento" secondo l'output ottenuto di seguito. Ora, possiamo impiegare $ dayofmonth, $ dayofweek e l'operatore di $ dayofyear in questi documenti per ottenere la giornata dalla data di conseguenza.


riconosciuto: vero,
inseritedids:
'0': objectId ("63c7e2f7a54df35af58bbdf0"),
'1': objectId ("63c7e2f7a54df35af58bbdf1"),
'2': objectId ("63c7e2f7a54df35af58bbdf2"),
'3': objectId ("63c7e2f7a54df35af58bbdf3"),
'4': objectId ("63c7e2f7a54df35af58bbdf4")

Esempio n. 1: utilizzando l'operatore di $ DayOfMonth per ottenere il giorno del mese in MongoDB

L'operatore di $ dayofmonth è impiegato per primo per ottenere il giorno del mese dalla data data. Abbiamo usato l'operatore di $ Project in cui l'operatore di $ DayOfMonth è stato chiamato per eseguire il funzionamento di recupero il giorno del mese. L'operatore di $ dayofmonth è definito con l'espressione di "$ data". Dalla data del campo $, il $ dayofmonth otterrà il giorno del mese nel campo previsto "appuntamento -patimeofmonth".

db.Data dell'appuntamento.aggregato(
[

$ Progetto:

_id: 0,
"Appuntamenti daofmonth": $ dayofmonth: "$ data"


"
).bello()

L'operatore di $ DayOfMonth risolve tutti i valori della data all'interno del campo $ date e restituisce il giorno del mese che si trova in un intervallo da "1" a "31".

[
Appuntamentoofmonth: 30,
Appuntamento di Month: 21,
Appuntamentoofmonth: 30,
Appuntamento di Month: 27,
Appuntamento di Month: 10
"

Esempio n. 2: Utilizzo dell'operatore di $ dayofmonth per ottenere il giorno del mese in un fuso orario specificato in mongodb

Possiamo specificare un fuso orario da utilizzare per l'output dell'operatore di $ dayofmonth. Il fuso orario è specificato utilizzando l'offset UTC in questo esempio dell'operatore di $ dayofmonth. Ma possiamo fornire qualsiasi specifica del fuso orario all'operatore di $ dayofmonth per ottenere il giorno del mese di quella particolare regione. Abbiamo impostato l'operatore di $ Project in cui nascondiamo il campo "_id" assegnando il valore "0". Successivamente, abbiamo creato il campo "UtCoffset1" per invocare l'operatore di $ dayofmonth. L'operatore di $ DayOfMonth prende il campo $ Date come valore dell'argomento "data" e l'argomento del fuso orario come offset UTC "-1000". Quindi, abbiamo creato un altro campo "UTCOFFSET2" nella fase del progetto $ per eseguire un'altra operazione dell'operatore di $ DayOfMonth con il fuso orario di offset UTC. Qui, abbiamo specificato l'argomento del fuso orario con l'offset UTC "+1200" per il campo $ date.

db.Data dell'appuntamento.aggregato(
[

$ Progetto:
_id: 0,
"utcoffset1":
$ dayofmonth: data: "$ date", timezone: "-0900"
,
"utcoffset2":
$ dayofmonth: data: "$ date", timezone: "+1100"



"
).bello()

Il giorno risultante del mese nel fuso di cronometro UTC specificato dall'operatore di $ DayOfMonth viene visualizzato come segue.

[
utcoffset1: 30, utcoffset2: 1,
UtCoffset1: 21, UtCoffset2: 22,
UtCoffset1: 30, UtCoffset2: 31,
UtCoffset1: 27, UtCoffset2: 27,
UtCoffset1: 10, UtCoffset2: 11
"

Esempio n. 3: utilizzando l'operatore $ DayofWeek per ottenere il giorno della settimana a MongoDB

L'operatore $ dateofweek viene utilizzato allo stesso modo in cui abbiamo impostato $ dayofmonth in MongoDB. L'unica differenza è nelle loro funzionalità. L'operatore di $ DayofWeek viene utilizzato per ottenere i giorni feriali dalla data. Abbiamo usato l'operatore di $ DayofWeek nel campo "AppuntationDayofWeek" che è definito nella fase del progetto $. Successivamente, l'operatore di $ DayofWeek è assegnato con il campo $ Date per ottenere il valore della settimana.

db.Data dell'appuntamento.aggregato(
[

$ Progetto:

_id: 0,
Appuntamento daofweek: $ dayofweek: "$ data"


"
).bello()

Il $ Dayofweek ha restituito il giorno della settimana come valore numerico tra "1" e "7" di seguito. Il numero "1" indica "domenica" che è il giorno predefinito della settimana e il "7" è indicato come un giorno "sabato".

[
Appuntationiofweek: 5,
Appuntamentoofweek: 3,
Appuntamentoofweek: 6,
Appuntamentoofweek: 6,
Appuntamentoofweek: 2
"

Esempio # 4: Utilizzo dell'operatore di $ Dayofyear per ottenere il giorno dell'anno a MongoDB

Ora, abbiamo un operatore di $ dayofyear che restituisce il giorno dell'anno della data come figura numerica. Il DayOfyear $ viene distribuito qui all'interno del campo "appuntamento -gayofyear" creato nella fase del progetto $. $ Dayofyear è impostato con il campo della data "$ data" dal documento. Il Dayofyear ci darà un valore intero come il giorno dell'anno dal valore della data fornito. Il numero dell'anno d'anno si trova tra il numero 1 a 366.

db.Data dell'appuntamento.aggregato(
[

$ Progetto:

_id: 0,
Appuntamento daofyear: $ dayofyear: "$ data"


"
)

L'operatore di $ Dayofyear recupera i giorni dell'anno da tutti i documenti della data inclusi nella raccolta.

[
Appuntamento daofyear: 334,
Appuntationdayofyear: 80,
Appuntationdayofyear: 364,
Appuntamento daofyear: 239,
Appuntamento daofyear: 283
"

Esempio n. 5: utilizzando $ DayOfMonth, $ DayofDay e $ DayOfyear Operator con altre espressioni di data in MongoDB

L'esempio seguente utilizza altri operatori della data insieme agli operatori $ dayofmonth, $ dayofweek e $ dayofyear per dividere gli elementi della data. Abbiamo una fase di $ match in cui l'espressione è data come "appuntamento": "skin care" per abbinare il documento con il valore dato. Quando il documento verrà abbinato, viene eseguita la fase del progetto $ in cui abbiamo creato i diversi campi per diverse operazioni di data. Tutti i campi contengono l'operatore della data insieme agli operatori di $ Dayofday, $ dayofmonth e $ dayofyear. Questi operatori restituiranno valori numerici in base all'operatore che abbiamo impostato sui campi.

db.Data dell'appuntamento.aggregato(
[
$ match: "appuntamento": "skin care",

$ Progetto:

Anno: $ anno: "$ data",
Mese: $ mese: "$ data",
dayofmonth: $ dayofmonth: "$ data",
ora: $ hour: "$ data",
minuti: $ minute: "$ data",
Secondi: $ secondo: "$ data",
millisecondi: $ millisecond: "$ date",
dayofyear: $ dayofyear: "$ data",
dayofweek: $ dayofweek: "$ data",
Settimana: $ WEEK: "$ data"


"
)

Abbiamo l'output che mostra i valori della data separati dagli operatori della data.

[

_id: 2,
Anno: 2023,
Mese: 3,
giorno di giorno: 21,
Ora: 15,
minuti: 25,
Secondi: 10,
millisecondi: 103,
Dayofyear: 80,
DayofWeek: 3,
Settimana: 12

"

Conclusione

La guida sull'operatore della data MongoDB che include operatori $ dayofmonth, $ dayofweek e $ dayofyear. Abbiamo discusso di ciascuno degli operatori con il programma di esempio. L'operatore di $ dayofmonth è stato utilizzato nel primo esempio per ottenere il giorno del mese. Quindi, abbiamo usato l'operatore $ dayofmonth con il parametro del fuso orario per ottenere il giorno del mese nel fuso orario fornito. Successivamente, abbiamo dimostrato l'operatore di $ DayofWeek per il giorno della settimana dei valori della data assegnati. Infine, abbiamo un esempio dell'operatore di $ Dayofyear che ci aiuta a conoscere il giorno dell'anno dalla data del set.