Definition定义
$dayOfWeekReturns the day of the week for a date as a number between 1 (Sunday) and 7 (Saturday).将日期的星期几作为介于1(星期日)和7(星期六)之间的数字返回。The$dayOfWeekexpression has the following operator expression syntax:$dayOfWeek表达式具有以下运算符表达式语法:{ $dayOfWeek: <dateExpression> }The argument can be:参数可以是:An expression that resolves to a Date, a Timestamp, or an ObjectID.解析为Date、Timestamp或ObjectID的表达式。A document with this format:具有此格式的文档:{ date: <dateExpression>, timezone: <tzExpression> }Field字段Description描述dateThe date to which the operator is applied.运算符的应用日期。<dateExpression>must be a valid expression that resolves to a Date, a Timestamp, or an ObjectID.<dateExpression>必须是解析为Date、Timestamp或ObjectID的有效表达式。timezoneOptional.可选。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.<tzExpression>必须是解析为奥尔森时区标识符或UTC偏移格式的字符串的有效表达式。If no如果没有提供timezoneis provided, the result is in UTC.timezone,则结果为UTC。Format格式Examples示例Olson Timezone Identifier奥尔森时区标识符"America/New_York"
"Europe/London"
"GMT"UTC OffsetUTC偏移+/-[hh]:[mm], e.g. "+04:45"
+/-[hh][mm], e.g. "-0530"
+/-[hh], e.g. "+03"
Behavior行为
| Result | |
|---|---|
| 6 |
| 3 |
| 1 |
| 7 |
| 6 |
| error |
| error |
| error |
Note
$dayOfWeek cannot take a string as an argument.$dayOfWeek不能接受字符串作为参数。
Example示例
Consider a 考虑一个带有以下文档的sales collection with the following document:sales集合:
db.sales.insertOne(
{
"_id" : 1,
"item" : "abc",
"price" : 10,
"quantity" : 2,
"date" : ISODate("2014-01-01T08:15:39.736Z")
}
)
The following aggregation uses the 以下聚合使用$dayOfWeek and other date operators to break down the date field:$dayOfWeek和其他日期运算符来分解date字段:
db.sales.aggregate(
[
{
$project:
{
year: { $year: "$date" },
month: { $month: "$date" },
day: { $dayOfMonth: "$date" },
hour: { $hour: "$date" },
minutes: { $minute: "$date" },
seconds: { $second: "$date" },
milliseconds: { $millisecond: "$date" },
dayOfYear: { $dayOfYear: "$date" },
dayOfWeek: { $dayOfWeek: "$date" },
week: { $week: "$date" }
}
}
]
)
The operation returns the following result:该操作返回以下结果:
{
"_id" : 1,
"year" : 2014,
"month" : 1,
"day" : 1,
"hour" : 8,
"minutes" : 15,
"seconds" : 39,
"milliseconds" : 736,
"dayOfYear" : 1,
"dayOfWeek" : 4,
"week" : 0
}