For AI agents: a documentation index is available at https://www.mongodb.com/ko-kr/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.

$isoDayOfWeek (expression operator)

$isoDayOfWeek

Returns the weekday number in ISO 8601 format, ranging from 1 (for Monday) to 7 (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> }
    Field
    Description

    date

    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 no timezone is provided, the result is in UTC.

    • Olson 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"
Example
Result
{ $isoDayOfWeek: new Date("2016-01-01") }

5

{ $isoDayOfWeek: { date: new Date("Jan 7, 2003") } }

2

{ $isoDayOfWeek: { date: new Date("August 14, 2011"), timezone: "America/Chicago"} }

7

{ $isoDayOfWeek: ISODate("1998-11-07T00:00:00Z") }

6

{ $isoDayOfWeek: { date: ISODate("1998-11-07T00:00:00Z"), timezone: "-0400"} }

5

{ $isoDayOfWeek: "March 28, 1976" }

error

{ $isoDayOfWeek: Date("2016-01-01") }

error

{ $isoDayOfWeek: "2009-04-09" }

error

Note

$isoDayOfWeek cannot take a string as an argument.

A collection called birthdays contains the following documents:

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") }] )

The following operation returns the weekday number for each birthday field.

db.birthdays.aggregate( [ { $project: { _id: 0, name: "$name", dayOfWeek: { $isoDayOfWeek: "$birthday" } } }] )

The operation returns the following results:

[ { name: "Betty", dayOfWeek: 2 }, { name: "Veronica", dayOfWeek: 6 }]
Rate this page