$hour (日期表达式)

适用对象: MongoDB vCore

运算符 $hour 将日期的小时部分作为介于 0 和 23 之间的数字返回。 运算符接受解析为 Date、Timestamp 或 ObjectId 的日期表达式。

语法

$hour 运算符的语法如下:

{
  $hour: <dateExpression>
}

参数

DESCRIPTION
dateExpression 解析为 Date、Timestamp 或 ObjectId 的表达式。 如果表达式解析为 null 或缺失, $hour 则返回 null。

示例:

示例 1:从当前日期提取小时

此示例演示如何从当前日期和时间提取小时。

db.stores.aggregate([
  { $match: { "_id": "40d6f4d7-50cd-4929-9a07-0a7a133c2e74" } },
  {
    $project: {
      name: 1,
      storeOpeningDate: 1,
      currentHour: { $hour: new Date() },
      documentHour: { $hour: "$storeOpeningDate" }
    }
  }
])

该查询从 ObjectId 创建时间返回当前小时和小时。

{
  "_id": "40d6f4d7-50cd-4929-9a07-0a7a133c2e74",
  "name": "Proseware, Inc. | Home Entertainment Hub - East Linwoodbury",
  "storeOpeningDate": ISODate("2024-09-23T13:45:01.480Z"),
  "currentHour": 10,
  "documentHour": 13
}