$isoDayOfWeek (agregação)
Nesta página
Definição
$isoDayOfWeek
Novidade na versão 3.4.
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
Optional.
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 será exibido emUTC
.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:
{ "_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.dates.aggregate( [ { $project: { _id: 0, name: "$name", dayOfWeek: { $isoDayOfWeek: "$birthday" } } } ] )
A operação retorna os seguintes resultados:
{ "name" : "Betty", "dayOfWeek" : 2 } { "name" : "Veronica", "dayOfWeek" : 6 }