$isoDayOfWeek (aggregation)
On this page
This version of the documentation is archived and no longer supported. View the current documentation to learn how to upgrade your version of MongoDB server.
Definition
$isoDayOfWeek
Returns the weekday number in ISO 8601 format, ranging from
1
(for Monday) to7
(for Sunday).The
$isoDayOfWeek
expression has the following operator expression syntax:{ $isoDayOfWeek: <dateExpression> } The argument can be:
An expression that resolves to a Date, a Timestamp, or an ObjectID.
A document with this format:
{ date: <dateExpression>, timezone: <tzExpression> } FieldDescriptiondate
The date to which the operator is applied.<dateExpression>
must be a valid expression that resolves to a Date, a Timestamp, or an ObjectID.timezone
Optional. The timezone of the operation result.
<tzExpression>
must be a valid expression that resolves to a string formatted as either an Olson Timezone Identifier or a UTC Offset. If notimezone
is provided, the result is in UTC.FormatExamplesOlson 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"
Behavior
Example | Result | ||||
---|---|---|---|---|---|
| 5 | ||||
| 2 | ||||
| 7 | ||||
| 6 | ||||
| 5 | ||||
| error | ||||
| error | ||||
| error |
Note
$isoDayOfWeek cannot take a string as an argument.
Example
A collection called birthdays
contains the following documents:
{ "_id" : 1, "name" : "Betty", "birthday" : ISODate("1993-09-21T00:00:00Z") } { "_id" : 2, "name" : "Veronica", "birthday" : ISODate("1981-11-07T00:00:00Z") }
The following operation returns the weekday number for each
birthday
field.
db.dates.aggregate( [ { $project: { _id: 0, name: "$name", dayOfWeek: { $isoDayOfWeek: "$birthday" } } } ] )
The operation returns the following results:
{ "name" : "Betty", "dayOfWeek" : 2 } { "name" : "Veronica", "dayOfWeek" : 6 }