MongoDB聚合运算符:$hour

文章目录

$hour聚合运算符返回日期中小时部分的数字值为0到23之间

语法

{ $hour: <dateExpression> }

参数说明:

  • <dateExpression>为可解析为Date、Timestamp或ObjectID
  • 或者参数也可以是一个文档:
    { date: <dateExpression>, timezone: <tzExpression> }
    • timezone为可选参数,用于指定运算时的时区
    • <tzExpression>为字符串或字符串表达式,其值为奥尔森时区标识符或UTC偏移,如果不指定,则默认为UTC。
      奥尔森时区标识符:“America/New_York”、“Europe/London”、“GMT”
      UTC偏移量:+/-[hh]:[mm] 如: “+04:45”;+/-[hh][mm],如: “-0530”;+/-[hh],如:“+03”

使用

参考下面的例子来说明:

例1:

{ $hour: new Date("2016-01-01T12:00:00Z") }

结果:12

例2:

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

结果:0

例3:

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

结果:19

例4:

{ $hour: ISODate("2017-10-19T00:00:00Z") }

结果:0

例5:

{ $hour: {
    date: ISODate("2017-10-19T00:00:00Z"),
    timezone: "+0530"
} }

结果:5

例6:

{ $hour: "March 28, 1976" }

结果:error

例7:

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

结果:error

例8:

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

结果:error

举例

salse集合有下面的文档:

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

下面的聚合使用$hour和其他的日期表达式来分解日期字段

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

操作返回下面的结果:

{
  "_id" : 1,
  "year" : 2014,
  "month" : 1,
  "day" : 1,
  "hour" : 8,
  "minutes" : 15,
  "seconds" : 39,
  "milliseconds" : 736,
  "dayOfYear" : 1,
  "dayOfWeek" : 4,
  "week" : 0
}

相关推荐

  1. MongoDB聚合运算符:$hour

    2024-03-20 08:36:04       40 阅读
  2. MongoDB聚合运算符:$add

    2024-03-20 08:36:04       55 阅读
  3. MongoDB聚合运算符:$arrayToObject

    2024-03-20 08:36:04       53 阅读
  4. MongoDB聚合运算符;$dateToParts

    2024-03-20 08:36:04       53 阅读
  5. MongoDB聚合运算符:$dayOfWeek

    2024-03-20 08:36:04       55 阅读
  6. MongoDB聚合运算符:$dayOfMonth

    2024-03-20 08:36:04       52 阅读
  7. MongoDB聚合运算符;$dateToString

    2024-03-20 08:36:04       48 阅读
  8. MongoDB聚合运算符:$dayOfYear

    2024-03-20 08:36:04       48 阅读
  9. MongoDB聚合运算符:$denseRank

    2024-03-20 08:36:04       42 阅读
  10. MongoDB聚合运算符:$dateTrunc

    2024-03-20 08:36:04       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 08:36:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 08:36:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 08:36:04       87 阅读
  4. Python语言-面向对象

    2024-03-20 08:36:04       96 阅读

热门阅读

  1. 双向队列(Double-ended Queue)

    2024-03-20 08:36:04       42 阅读
  2. ElementUI+sortablejs实现列表拖拽功能

    2024-03-20 08:36:04       45 阅读
  3. React——关于表单元素

    2024-03-20 08:36:04       51 阅读
  4. 离散制造企业MES与流程企业MES的区别

    2024-03-20 08:36:04       36 阅读
  5. React.js快速入门教程

    2024-03-20 08:36:04       44 阅读
  6. 虚拟DOM是什么以及React 和Vue中有何区别

    2024-03-20 08:36:04       38 阅读
  7. 华岳M9制造企业管理软件业务流程 2/4

    2024-03-20 08:36:04       44 阅读
  8. 北斗校时服务器(GPS授时服务器,NTP同步时钟)

    2024-03-20 08:36:04       43 阅读
  9. uniapp小程序接入trtc-wx

    2024-03-20 08:36:04       37 阅读
  10. 2024-03-19 事业-代号s-商城系统-记录

    2024-03-20 08:36:04       39 阅读