MongoDB聚合运算符;$dateToParts
$dateToParts聚合运算符将日期表达式拆分成多个字段放在一个文档返回,属性有year、month、day、hour、minute、second和millisecond。如果iso8601属性设置为true,返回的各部分用ISO周日期返回,属性分别是:isoWeekYear、isoWeek、isoDayOfWeek、hour、minute、second和millisecond。
语法
{$dateToParts: {'date' : <dateExpression>,'timezone' : <timezone>,'iso8601' : <boolean>}
}
字段说明:
| 字段 | 是否必须 | 描述 |
|---|---|---|
date | 是 | <dateExpression>可以是日期、时间戳或对象Id表达式 |
timezone | 否 | 执行操作的时区,<tzExpression>必须是能被解析为奥尔森时区标识符格式的字符串或UTC偏移量,如果timezone不指定,返回值显示为UTC |
iso8601 | 否 | 如果设置为true,则修改输出文档以使用ISO周日期字段。默认为false。 |
使用
在<timezone>字段中使用Olson时区标识符时,如果适用于指定时区,MongoDB 会应用 DST 偏移量。
例如,集合sales有下列的文档:
{"_id" : 1,"item" : "abc","price" : 20,"quantity" : 5,"date" : ISODate("2017-05-20T10:24:51.303Z")
}
下面的聚合说明了MongoDB如何处理Olson时区标识符的DST偏移量。示例使用$hour和$minute操作符返回日期字段的相应部分:
db.sales.aggregate([
{$project: {"nycHour": {$hour: { date: "$date", timezone: "-05:00" }},"nycMinute": {$minute: { date: "$date", timezone: "-05:00" }},"gmtHour": {$hour: { date: "$date", timezone: "GMT" }},"gmtMinute": {$minute: { date: "$date", timezone: "GMT" } },"nycOlsonHour": {$hour: { date: "$date", timezone: "America/New_York" }},"nycOlsonMinute": {$minute: { date: "$date", timezone: "America/New_York" }}}
}])
操作返回以下结果:
{"_id": 1,"nycHour" : 5,"nycMinute" : 24,"gmtHour" : 10,"gmtMinute" : 24,"nycOlsonHour" : 6,"nycOlsonMinute" : 24
}
举例
下面的sales集合有以下文档:
{"_id" : 2,"item" : "abc","price" : 10,"quantity" : 2,"date" : ISODate("2017-01-01T01:29:09.123Z")
}
下面的聚合使用$dateToParts返回包含日期字段各组成部分的文档。
db.sales.aggregate([{$project: {date: {$dateToParts: { date: "$date" }},date_iso: {$dateToParts: { date: "$date", iso8601: true }},date_timezone: {$dateToParts: { date: "$date", timezone: "America/New_York" }}}
}])
操作返回下面的结果:
{"_id" : 2,"date" : {"year" : 2017,"month" : 1,"day" : 1,"hour" : 1,"minute" : 29,"second" : 9,"millisecond" : 123},"date_iso" : {"isoWeekYear" : 2016,"isoWeek" : 52,"isoDayOfWeek" : 7,"hour" : 1,"minute" : 29,"second" : 9,"millisecond" : 123},"date_timezone" : {"year" : 2016,"month" : 12,"day" : 31,"hour" : 20,"minute" : 29,"second" : 9,"millisecond" : 123}
}
相关文章:
MongoDB聚合运算符;$dateToParts
$dateToParts聚合运算符将日期表达式拆分成多个字段放在一个文档返回,属性有year、month、day、hour、minute、second和millisecond。如果iso8601属性设置为true,返回的各部分用ISO周日期返回,属性分别是:isoWeekYear、isoWeek、i…...
Spring MVC RequestMappingHandlerAdapter原理解析
在Spring MVC框架中,RequestMappingHandlerAdapter是一个核心的组件,负责将请求映射到具体的处理器方法上,并调用这些方法来处理请求。其中,invokeHandlerMethod方法是这个适配器中的一个关键方法,它负责实际调用处理器…...
反射整理学习
目录 1、反射介绍 2、反射API 2.1 获取类对应的字节码的对象(三种) 2.2 常用方法 3、反射的应用 3.1 创建 : 测试物料类 3.2 获取类对象 3.3 获取成员变量 3.4 通过字节码对象获取类的成员方法 3.5 通过字节码对象获取类的构造方法 4、创建对象…...
JavaScript 运算规则详解
在 JavaScript 中,运算规则是非常重要的基础知识,了解这些规则可以帮助我们正确地编写代码并避免一些常见的错误。本教程将详细介绍 JavaScript 中的各种运算规则,包括基本运算符、类型转换、运算优先级等内容。 1. 基本运算符 JavaScript …...
C++篇 语 句
到目前为止,我们只见过两种语句: return 语句和表达式语句。根据语句对执行顺 序的影响,C 语言其余语句大多属于以下 3 大类。 选择语句: if 语句和 switch 语句。循环语句: while 语句, do...while 语句和…...
简洁的在线观影开源项目
公众号:【可乐前端】,每天3分钟学习一个优秀的开源项目,分享web面试与实战知识。 每天3分钟开源 hi,这里是每天3分钟开源,很高兴又跟大家见面了,今天介绍的开源项目简介如下: 仓库名࿱…...
VB超级模块函数VB读写记事本-防止乱码支持UTF-8和GB2312编码
Private Sub Command1_Click() Writein “C:\Users\Administrator\Desktop\1.txt”, “文本文内容” End Sub Private Sub Form_Load() Text1 ReadANSI(“C:\Users\Administrator\Desktop\1.txt”) Text2 ReadUTF8(“C:\Users\Administrator\Desktop\1.txt”) End Sub 写入…...
XSS靶场-DOM型初级关卡
一、环境 XSS靶场 二、闯关 1、第一关 先看源码 使用DOM型,获取h2标签,使用innerHTML将内容插入到h2中 我们直接插入<script>标签试一下 明显插入到h2标签中了,为什么不显示呢?看一下官方文档 尽管插入进去了࿰…...
【嵌入式高级C语言】10:C语言文件
文章目录 1 文件的概述1.1 文件分类(存储介质)1.2 磁盘文件分类(存储方式)1.3 二进制文件和文本文件的区别 2 文件缓冲区3 文件指针4 文件的API4.1 打开文件4.2 关闭文件4.3 重新定位流4.3.1 fseek4.3.2 ftell4.3.3 rewind 4.4 字…...
创建数据表
Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645 如果要进行数据表的创建 create table 表名称 (列名称 类型 [DEFAULT 默认值 ] ,列名称 类型 [DEFAULT 默认值 ] ,列名称 类型 [DEFAULT 默认值 ] ,...列名称 类型 [DEFAULT 默认值 ] )…...
C语言字符串型常量
在C语言中,字符串型常量是由一系列字符组成的常量。字符串常量在C中以双引号(")括起来,例如:“Hello, World!”。字符串常量在C中是不可变的,也就是说,一旦定义,就不能修改其内…...
计算机网络 八股
计算机网络体系结构 OSI:物理层、数据链路层、网络层、运输层、会话层、表示层、应用层...
深入了解 Jetpack Compose 中的 Modifier
Jetpack Compose 是 Android 中用于构建用户界面的现代化工具包。其中,Modifier 是一个非常重要的概念,它允许我们对 UI 组件进行各种样式和布局的调整。在本篇博客中,我们将深入了解 Modifier,以及如何在 Compose 中使用它。 什…...
【数据库】聚合函数|group by分组|having|where|排序|函数 关键字的使用
目录 一、聚合函数 1、max() 2、min() 3、avg() 4、sum() 5、count() 二、group by 分组汇总 一般聚合函数配合着group by(分组)语句进行使用 把一组的数据放到一起,再配合聚合函数进行使用 三、having having语句 做筛选的 四、where和having的作用以及区…...
docker安装mongoDB及使用
一.mongodb是什么? MongoDB是一个NoSQL的非关系型数据库 ,支持海量数据存储,高性能的读写 1.mongo的体系结构 SQL术语/概念MongoDB术语/概念解释/说明databasedatabase数据库tablecollection数据库表/集合rowdocument数据记录行/文档colum…...
Linux 之五:权限管理(文件权限和用户管理)
1. 文件权限 在Linux系统中,文件权限是一个非常基础且重要的安全机制。它决定了用户和用户组对文件或目录的访问控制级别。 每个文件或目录都有一个包含9个字符的权限模式,这些字符分为三组,每组三个字符,分别对应文件所有者的权限…...
基于YOLOv8深度学习的葡萄病害智能诊断与防治系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
MySQL 在聚合函数查询的结构中继续过滤
HAVING HAVING 关键字和 WHERE 关键字都可以用来过滤数据,且 HAVING 支持 WHERE 关键字中所有的操作符和语法,如果想要从 GROUP BY 分组中进行筛选的话,不是用 WHERE 而是使用 HAVING 来进行聚合函数的筛选。 语法 SELECT <列名1>, <列名2>,…...
UE4.27_ParticleSystem(没写完的材料)
UE4.27_ParticleSystem(没写完的材料) 参考实例: UE4[蓝图]下雪效果及雪的材质的实现...
腾讯云轻量服务器流量用完了怎么办?停机吗?
腾讯云轻量服务器流量用完了怎么办?超额流量另外支付流量费,流量价格为0.8元/GB,会自动扣你的腾讯云余额,如果你的腾讯云账号余额不足,那么你的轻量应用服务器会面临停机,停机后外网无法访问,继…...
ExDark低光照图像数据集:夜间视觉AI开发的终极解决方案
ExDark低光照图像数据集:夜间视觉AI开发的终极解决方案 【免费下载链接】Exclusively-Dark-Image-Dataset Exclusively Dark (ExDARK) dataset which to the best of our knowledge, is the largest collection of low-light images taken in very low-light enviro…...
【艺术家紧急自救手册】:2026奇点大会实证——AGI接管创意流程的7个高危节点及防御策略
第一章:2026奇点智能技术大会:AGI与艺术创作 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次设立“AGI原生艺术工坊”,聚焦具备自主意图建模与跨模态反思能力的通用人工智能系统在视觉、音乐与叙事创作中的前沿实践。多位研究者…...
用NumPy玩转蒙特卡洛模拟:手把手教你用随机数估算圆周率π和期权价格
用NumPy玩转蒙特卡洛模拟:手把手教你用随机数估算圆周率π和期权价格 蒙特卡洛模拟就像一场数学魔术表演——通过随机撒点就能算出圆周率,通过模拟股票走势就能预测期权价格。这种将概率游戏变成科学计算利器的技术,正在金融工程、物理仿真等…...
Python爬虫实战:手把手教你绿色建材类别总表自动化采集与层级目录建模工程!
㊗️本期内容已收录至专栏《Python爬虫实战》,持续完善知识体系与项目实战,建议先订阅收藏,后续查阅更方便~ ㊙️本期爬虫难度指数:⭐ (基础入门篇) 🉐福利: 一次订阅后,专栏内的所有…...
安卓旗舰SoC分级成常态:非满血芯片体验差吗?消费者该如何选?
安卓旗舰SoC分级,超大杯独占满血版近日有博主爆料,受先进工艺良品率不足和成本高企影响,今年年底发布的安卓旗舰机型中,只有Pro Max和Ultra级别的顶配机型能独享满血版旗舰SoC,标准版和Pro版将搭载非满血版本。此消息引…...
KS-Downloader:专业级快手无水印视频下载解决方案
KS-Downloader:专业级快手无水印视频下载解决方案 【免费下载链接】KS-Downloader 快手(KuaiShou)视频/图片下载工具;数据采集工具 项目地址: https://gitcode.com/gh_mirrors/ks/KS-Downloader 还在为无法保存喜欢的快手视…...
Redux DevTools终极指南:3大调试技巧快速解决状态管理难题
Redux DevTools终极指南:3大调试技巧快速解决状态管理难题 【免费下载链接】redux-devtools DevTools for Redux with hot reloading, action replay, and customizable UI 项目地址: https://gitcode.com/gh_mirrors/re/redux-devtools 还在为复杂的Redux应…...
Unity3D超高清照片墙实战:如何突破8192x8192分辨率限制并稳定运行24小时?
Unity3D超高清照片墙实战:突破8192x8192分辨率限制与24小时稳定运行方案 当我在上海某商业综合体首次看到那块横跨三层楼的巨型互动照片墙时,立刻被其视觉冲击力震撼——直到客户递给我一份96004320分辨率的项目需求书。这个数字让我手指一颤:…...
告别臃肿!用ContextMenuManager重塑你的Windows右键菜单体验
告别臃肿!用ContextMenuManager重塑你的Windows右键菜单体验 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否曾经在Windows系统中右键点击文件…...
3分钟搞定B站视频转文字:智能高效免费工具bili2text全解析
3分钟搞定B站视频转文字:智能高效免费工具bili2text全解析 【免费下载链接】bili2text Bilibili视频转文字,一步到位,输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 你是否曾为整理B站学习视频内容而反复暂…...
