$isoDayOfWeek (agregação)
Nesta página
Definição
$isoDayOfWeek
Retorna o número do dia da semana no formato ISO 8601, que varia de
1
(para segunda-feira) a7
(para domingo).A expressão
$isoDayOfWeek
tem a seguinte sintaxe de expressão do operador:{ $isoDayOfWeek: <dateExpression> } O argumento pode ser:
Uma expressão que produza uma Data, um Timestamp ou um ObjectID.
Um documento com este formato:
{ date: <dateExpression>, timezone: <tzExpression> } CampoDescriçãodate
timezone
Opcional. O fuso horário do resultado da operação.
<tzExpression>
deve ser uma expressão válida que resolva para uma string formatada como um identificador de fuso horário Olson ou um UTC Offset. Se nenhumtimezone
for fornecido, o resultado estará em UTC.FormatarExemplosOlson 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"
Comportamento
Exemplo | Resultado | ||||
---|---|---|---|---|---|
| 5 | ||||
| 2 | ||||
| 7 | ||||
| 6 | ||||
| 5 | ||||
| error | ||||
| error | ||||
| error |
Observação
$isoDayOfWeek não pode usar uma string como um argumento.
Exemplo
Uma coleção chamada birthdays
contém os seguintes 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") } ] )
A seguinte operação retorna o número do dia da semana para cada campo birthday
.
db.birthdays.aggregate( [ { $project: { _id: 0, name: "$name", dayOfWeek: { $isoDayOfWeek: "$birthday" } } } ] )
A operação retorna os seguintes resultados:
[ { name: "Betty", dayOfWeek: 2 }, { name: "Veronica", dayOfWeek: 6 } ]