MongoDB时间聚合函数使用

2023-04-14 15:49:44 浏览数 (1)

$year

$year函数用于提取日期字段中的年份,例如:

代码语言:javascript复制
db.sales.aggregate([
   { $group : { _id : { year: { $year: "$saleDate" }}, totalSales: { $sum: "$amount" } } }
])

这个命令将按照saleDate字段中的年份进行分组,并计算每个年份的总销售额。

$month

$month函数用于提取日期字段中的月份,例如:

代码语言:javascript复制
db.sales.aggregate([
   { $group : { _id : { month: { $month: "$saleDate" }}, totalSales: { $sum: "$amount" } } }
])

这个命令将按照saleDate字段中的月份进行分组,并计算每个月份的总销售额。

$dayOfMonth

$dayOfMonth函数用于提取日期字段中的日号,例如:

代码语言:javascript复制
db.sales.aggregate([
   { $group : { _id : { day: { $dayOfMonth: "$saleDate" }}, totalSales: { $sum: "$amount" } } }
])

这个命令将按照saleDate字段中的日号进行分组,并计算每个日号的总销售额。

$hour

$hour函数用于提取日期字段中的小时数,例如:

代码语言:javascript复制
db.logins.aggregate([
   { $group : { _id : { hour: { $hour: "$loginTime" }}, count: { $sum: 1 } } }
])

这个命令将按照loginTime字段中的小时数进行分组,并计算每个小时数的登录次数。

$minute

$minute函数用于提取日期字段中的分钟数,例如:

代码语言:javascript复制
db.logins.aggregate([
   { $group : { _id : { minute: { $minute: "$loginTime" }}, count: { $sum: 1 } } }
])

这个命令将按照loginTime字段中的分钟数进行分组,并计算每个分钟数的登录次数。

$second

$second函数用于提取日期字段中的秒数,例如:

代码语言:javascript复制
db.logins.aggregate([
   { $group : { _id : { second: { $second: "$loginTime" }}, count: { $sum: 1 } } }
])

这个命令将按照loginTime字段中的秒数进行分组,并计算每个秒数的登录次数。

0 人点赞