MongoDB $ DayOfMonth $ Dayofweek $ Dayofyear

MongoDB $ DayOfMonth $ Dayofweek $ Dayofyear

El método de tubería de agregación MongoDB proporciona a los operadores de fecha para extraer el día desde la fecha. De esos operadores, tenemos operadores de $ dayofmonth, $ dayofeek y $ dayofyear que obtienen el día en consecuencia. El operador de $ dayofonth devuelve el día del mes para una fecha en particular como entero entre 1 y 31. El operador Dayofweek genera una cifra entre 1 y 7 como el día de la semana. A continuación, tenemos un operador de $ dayofyear en MongoDB que proporciona un entero entre 1 y 366 como el día del año para una fecha determinada. Estos operadores de fecha toman una fecha como una fecha de formato ISO o un documento que define la fecha y la zona horaria para utilizar. La zona horaria utilizada por estos operadores para el resultado es una especificación opcional. Todos estos operadores de MongoDB son similares en la implementación, pero la funcionalidad varía.

Cómo usar el $ dayofmonth, $ dayofeek y $ dayofyear en MongoDB

Los $ dayofmonth, $ dayofweek y los $ dayofyear en MongoDB se utilizan para obtener el día, el día de la semana y el día de año. Dependiendo del operador, hemos seleccionado la fecha proporcionada. Estos operadores solo se ocupan de las fechas en MongoDB, ya que sus nombres indicarían. Entonces, requerimos la colección en MongoDB que consiste en los documentos de la fecha. Aquí, estamos utilizando la colección "cita date" que usa el método InsertMany () para insertar los siguientes documentos.

db.Día de la cita.insertmany ([

"_id": ObjectId ("63C7E2F7A54DF35AF58BBDF0"),
"Cita": "Hair Spa",
"Fecha": Isodate ("2023-11-30T13: 10: 25.125Z ")
,

"_id": ObjectId ("63C7E2F7A54DF35AF58BBDF1"),
"Cita": "Cuidado de la piel",
"Fecha": Isodate ("2023-03-21T15: 25: 10.103z ")
,

"_id": ObjectId ("63C7E2F7A54DF35AF58BBDF2"),
"Cita": "Extensión de uñas",
"Fecha": Isodate ("2022-12-30T20: 30: 15.123Z ")
,

"_id": ObjectId ("63C7E2F7A54DF35AF58BBDF3"),
"Nombramiento": "Maquillaje de fiesta",
"Fecha": Isodate ("2021-08-27T10: 05: 12.160Z ")
,

"_id": ObjectId ("63C7E2F7A54DF35AF58BBDF4"),
"Cita": "Spa mano y pies",
"Fecha": Isodate ("2022-10-10t22: 21: 19.110Z ")

])

Los documentos se insertan dentro de la colección dada "date de cita" de acuerdo con la salida obtenida a continuación. Ahora, podemos emplear el $ DayOfMonth, $ Dayofweek y el operador de $ dayofyear sobre estos documentos de fecha para obtener el día desde la fecha en consecuencia.


Reconocido: verdadero,
insertedids:
'0': ObjectId ("63C7E2F7A54DF35AF58BBDF0"),
'1': ObjectId ("63C7E2F7A54DF35AF58BBDF1"),
'2': ObjectId ("63C7E2F7A54DF35AF58BBDF2"),
'3': ObjectId ("63C7E2F7A54DF35AF58BBDF3"),
'4': ObjectId ("63C7E2F7A54DF35AF58BBDF4")

Ejemplo # 1: Uso del operador $ DayOfMonth para obtener el día del mes en MongoDB

El operador de $ dayofonth se emplea primero para obtener el día del mes desde la fecha dada. Hemos utilizado el operador de proyecto $ donde se llama al operador $ dayofmonth para llevar a cabo la operación de obtener el día del día del mes. El operador $ DayOfMonth se define con la expresión de "$ fecha". Desde la fecha del campo $, el $ dayofmonth obtendrá el día del mes en el campo proyectado "cita de día de mes".

db.Día de la cita.agregar(
[

$ Proyecto:

_id: 0,
"NiCatesdayOf MONTH": $ DayOfMonth: "$ date"


]
).bonito()

El operador de $ dayofonth resuelve todos los valores de fecha dentro del campo $ fecha y devuelve el día del mes que se encuentra en un rango de "1" a "31".

[
NiCessdayOf MONTH: 30,
NiCessdayOf MONTH: 21,
NiCessdayOf MONTH: 30,
NiCessdayOf MONTH: 27,
NiCessdayOf MONTH: 10
]

Ejemplo # 2: Uso del operador $ dayofmonth para obtener el día del mes en una zona horaria especificada en MongoDB

Podemos especificar una zona horaria para usar para la salida del operador $ dayofmonth. La zona horaria se especifica utilizando el compensación de UTC en este ejemplo del operador de $ dayofmonth. Pero podemos proporcionar cualquier especificación de zona horaria al operador de $ DayOf Month para obtener el día del mes de esa región en particular. Hemos establecido el operador de proyecto $ donde ocultamos el campo "_id" asignando el valor "0". Después de eso, creamos el campo "UTCOFFSET1" para invocar el operador $ DayOfMonth. El operador $ DayOfMonth toma el campo $ Fecha como un valor de argumento de "fecha" y el argumento de la zona horaria como una compensación UTC "-1000". Luego, creamos otro campo "UTCOFFSET2" en la etapa del proyecto $ para llevar a cabo otra operación del operador $ DayOfMonth con la zona horaria de compensación de UTC. Aquí, hemos especificado el argumento de la zona horaria con el compensación de UTC "+1200" para el campo $ fecha.

db.Día de la cita.agregar(
[

$ Proyecto:
_id: 0,
"utcoffset1":
$ dayofmonth: fecha: "$ date", timionzone: "-0900"
,
"utcoffset2":
$ dayofmonth: fecha: "$ date", timonzone: "+1100"



]
).bonito()

El día resultante del mes en la zona horaria de compensación de UTC especificada del operador de $ dayofmonth se muestra de la siguiente manera.

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

Ejemplo # 3: Uso del operador $ Dayofweek para obtener el día de la semana en MongoDB

El operador $ dateOfweek se usa de la misma manera que hemos establecido el $ dayofmonth en MongoDB. La única diferencia está en sus funcionalidades. El operador de $ dayofweek se usa para obtener el día de la semana desde la fecha. Hemos usado el operador $ dayofweek en el campo "Dayayofweek" que se define en la etapa $ Project. Después de eso, el operador de $ dayofweek se asigna con el campo $ fecha para obtener el valor del día de la semana.

db.Día de la cita.agregar(
[

$ Proyecto:

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


]
).bonito()

El $ dayofweek regresó el día de la semana como un valor numérico entre "1" y "7" a continuación. El número "1" indica "Domingo", que es el día predeterminado de la semana y el "7" se denota como un día "Sábado".

[
NiCessdayOfweek: 5,
NiCessdayOfweek: 3,
NiCessdayOfweek: 6,
NiCessdayOfweek: 6,
NiCessdayOfweek: 2
]

Ejemplo # 4: Uso del operador $ dayofyear para obtener el día del año en MongoDB

Ahora, tenemos un operador de $ dayofyear que devuelve el día del año de la fecha como una cifra numérica. El $ dayofyear se despliega aquí dentro del campo "NiCatesdayOfyear" que se crea en la etapa de $ Project. El $ dayofyear se establece con el campo de fecha "$ fecha" del documento. El $ dayofyear nos dará un valor entero como el día del año del valor de fecha proporcionado. El número del día del año se encuentra entre el número 1 a 366.

db.Día de la cita.agregar(
[

$ Proyecto:

_id: 0,
NiCatesdayOfyear: $ dayofyear: "$ date"


]
)

El operador de $ dayofyear recupera los días del año de todos los documentos de fecha incluidos en la colección.

[
Nombramiento Dayear: 334,
NiCessdayOfyear: 80,
Nombramiento Dayear: 364,
Nombramiento de Dayofyear: 239,
Nombramiento de Dayofyear: 283
]

Ejemplo # 5: Uso del operador de $ DayOfMonth, $ Dayofday y $ Dayofyear con otras expresiones de fecha en MongoDB

El siguiente ejemplo utiliza otros operadores de fecha junto con los operadores de $ DayOfMonth, $ dayofeek y $ dayofyear para dividir los elementos de fecha. Tenemos una etapa de $ Match donde la expresión se da como "cita": "cuidado de la piel" para que coincida con el documento con el valor dado. Cuando el documento se igualará, se realiza la etapa de proyecto $ donde hemos creado los diferentes campos para diferentes operaciones de fecha. Todos los campos contienen el operador de fecha junto con los operadores de $ DayOfday, $ DayOfMonth y $ Dayofyear. Estos operadores devolverán los valores numéricos de acuerdo con el operador que hemos establecido en los campos.

db.Día de la cita.agregar(
[
$ Match: "Cita": "Cuidado de la piel",

$ Proyecto:

Año: $ año: "$ date",
Mes: $ mes: "$ date",
DayOfMonth: $ DayOfMonth: "$ date",
hora: $ hora: "$ date",
Actas: $ minuto: "$ date",
Segundos: $ segundo: "$ date",
MilliseConds: $ MilliseCond: "$ date",
Dayofyear: $ dayofyear: "$ date",
Dayofweek: $ dayofweek: "$ date",
Semana: $ Week: "$ Date"


]
)

Tenemos la salida que muestra los valores de fecha separados de los operadores de fecha.

[

_id: 2,
Año: 2023,
Mes: 3,
Dayofday: 21,
Hora: 15,
Actas: 25,
Segundos: 10,
milisegundos: 103,
Dayofyear: 80,
Dayofweek: 3,
Semana: 12

]

Conclusión

La guía sobre el operador de fecha de MongoDB que incluye $ DayOfMonth, $ Dayofweek y $ Dayofyear Operators. Hemos discutido a cada uno de los operadores con el programa de ejemplo. El operador de $ dayofonth se usó en el primer ejemplo para obtener el día de la. Luego, usamos el operador $ DayOfMonth con el parámetro de zona horaria para obtener el día de la zona horaria de mes proporcionado. A continuación, demostramos el operador de $ dayofweek para el día de la semana de los valores de fecha asignados. Por último, tenemos un ejemplo del operador $ dayofyear que nos ayuda a conocer el día del año desde la fecha establecida.