当前位置: 首页 > news >正文

MongoDB聚合运算符:$dayOfWeek

$dayOfWeek返回日期中“星期”的部分,值的范围1-7,即Sunday~Saturday。

语法

{ $dayOfWeek: <dateExpression> }

参数说明:

  • <dateExpression>为可被解析为Date、Timestamp或ObjectID的表达式
  • <dateExpression>也可以是一个文档{ date: <dateExpression>, timezone: <tzExpression> }
    • date是可以被解析为Date、Timestamp或ObjectID的表达式
    • timezone可选,操作结果的时区

使用

下面通过示例对使用规则进行说明:

例1

{ $dayOfWeek: new Date("2016-01-01") }

结果:6

例2

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

结果:3

例3

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

结果:1

例4

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

结果:7

例5

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

结果:6

例6

{ $dayOfWeek: "March 28, 1976" }

结果:error

例7

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

结果:error

例8

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

结果:error

举例

sales集合有下面的文档:

{"_id" : 1,"item" : "abc","price" : 10,"quantity" : 2,"date" : ISODate("2014-01-01T08:15:39.736Z")
}

下面的聚合使用$dayOfWeek和其他日期运算符来分解日期字段:

db.sales.aggregate([{$project:{year: { $year: "$date" },month: { $month: "$date" },day: { $dayOfWeek: "$date" },hour: { $hour: "$date" },minutes: { $minute: "$date" },seconds: { $second: "$date" },milliseconds: { $millisecond: "$date" },dayOfYear: { $dayOfYear: "$date" },dayOfWeek: { $dayOfWeek: "$date" },week: { $week: "$date" }}}]
)

操作返回下面的结果:

{"_id" : 1,"year" : 2014,"month" : 1,"day" : 1,"hour" : 8,"minutes" : 15,"seconds" : 39,"milliseconds" : 736,"dayOfYear" : 1,"dayOfWeek" : 4,"week" : 0
}
http://www.lryc.cn/news/317763.html

相关文章:

  • Visual Studio单步调试中监视窗口变灰的问题
  • 【Selenium】selenium介绍及工作原理
  • 【2024-完整版】python爬虫 批量查询自己所有CSDN文章的质量分:附整个实现流程
  • Nuxt3: useFetch使用过程常见一种报错
  • 当代计算机语言占比分析
  • 基于大模型和向量数据库的 RAG 示例
  • 【C语言】比较两个字符串大小,strcmp函数
  • 深入理解与应用Keepalive机制
  • 嵌入(embedding)概念
  • 豆瓣书影音存入Notion
  • Lucene 分词 示例代码
  • 2.18 校招 实习 内推 面经
  • spring中事务失效的场景有哪些?
  • Visual Studio 2022之Release版本程序发送到其它计算机运行
  • Xcode下载模拟器报错Could not download iOS 17.4 Simulator (21E213).
  • mac在终端设置代理
  • 傅立叶之美:深入研究傅里叶分析背后的原理和数学
  • golang学习随便记16-反射
  • 识别恶意IP地址的有效方法
  • 探索信号处理:低通滤波器的原理与应用
  • 计算机网络:应用层知识点汇总
  • 金三银四!一个年薪160W+的就业方向!
  • 实现的一个网页版的简易表白墙
  • 随身WiFi靠谱吗? 看完这篇文章你就懂了?2024随身wifi靠谱品牌推荐
  • mysql的trace追踪SQL工具,进行sql优化
  • docker部署springboot jar包项目
  • 一个八年工作经验老程序员的分享
  • 代码随想录算法训练营第四十三天|动态规划|1049. 最后一块石头的重量 II、494. 目标和、474.一和零
  • vue3+elementPlus:el-table-column表格列动态设置单元格颜色
  • python和shell脚本,每隔五分钟将远端服务器中的文件夹数据下载到跳板机