Definición
$isoDayOfWeekDevuelve el número del día de la semana en formato ISO 8601, que va del
1(lunes) al7(domingo).El
$isoDayOfWeekLa expresión tiene lo siguiente Sintaxis de expresión del operador:{ $isoDayOfWeek: <dateExpression> } El argumento puede ser:
Una expresión que se resuelve en una fecha, una marca de tiempo o un ObjectID.
Un documento con este formato:
{ date: <dateExpression>, timezone: <tzExpression> } CampoDescripcióndatetimezoneOpcional. La zona horaria del resultado de la operación.
<tzExpression>debe ser una expresión válida que se resuelva en una cadena con el formato de identificador de zona horaria de Olson.o una diferencia horaria UTC. Si notimezonese proporciona, el resultado se expresa en UTC.FormatoEjemplosOlson Timezone Identifier"America/New_York" "Europe/London" "GMT" UTC Offset+/-[hh]:[mm], e.g. "+04:45" +/-[hh][mm], e.g. "-0530" +/-[hh], e.g. "+03"
Comportamiento
Ejemplo | Resultado | ||||
|---|---|---|---|---|---|
| 5 | ||||
| 2 | ||||
| 7 | ||||
| 6 | ||||
| 5 | ||||
|
| ||||
|
| ||||
|
|
Nota
$isoDayOfWeek no puede tomar una cadena como argumento.
Ejemplo
Una colección llamada birthdays contiene los siguientes documentos:
db.birthdays.insertMany( [ { _id: 1, name: "Betty", birthday: ISODate("1993-09-21T00:00:00Z") }, { _id: 2, name: "Veronica", birthday: ISODate("1981-11-07T00:00:00Z") } ] )
La siguiente operación devuelve el número de día de la semana para cada campo birthday.
db.birthdays.aggregate( [ { $project: { _id: 0, name: "$name", dayOfWeek: { $isoDayOfWeek: "$birthday" } } } ] )
La operación devuelve los siguientes resultados:
[ { name: "Betty", dayOfWeek: 2 }, { name: "Veronica", dayOfWeek: 6 } ]