mongodb聚合利用日期分组。
2016-12-23 17:58
288 查看
$dayOfYear: 返回该日期是这一年的第几天。(全年366天) $dayOfMonth: 返回该日期是这一个月的第几天。(1到31) $dayOfWeek: 返回的是这个周的星期几。(1:星期日,7:星期六) $year: 返回该日期的年份部分 $month: 返回该日期的月份部分(between 1 and 12.) $week: 返回该日期是所在年的第几个星期(between 0 and 53) $hour: 返回该日期的小时部分 $minute: 返回该日期的分钟部分 $second: 返回该日期的秒部分(以0到59之间的数字形式返回日期的第二部分,但可以是60来计算闰秒。) $millisecond:返回该日期的毫秒部分(between 0 and 999.) $dateToString: { $dateToString: { format: <formatString>, date: <dateExpression> } }
%Y Year (4 digits, zero padded) 0000-9999 %m Month (2 digits, zero padded) 01-12 %d Day of Month (2 digits, zero padded) 01-31 %H Hour (2 digits, zero padded, 24-hour clock) 00-23 %M Minute (2 digits, zero padded) 00-59 %S Second (2 digits, zero padded) 00-60 %L Millisecond (3 digits, zero padded) 000-999 %j Day of year (3 digits, zero padded) 001-366 %w Day of week (1-Sunday, 7-Saturday) 1-7 %U Week of year (2 digits, zero padded) 00-53 %% Percent Character as a Literal %
假设有这么一个集合
{ "_id" : 1, "item" : "abc", "price" : 10, "quantity" : 2, "date" : ISODate("2014-01-01T08:15:39.736Z") }
我们在执行:
db.sales.aggregate( [ { $project: { yearMonthDay: { $dateToString: { format: "%Y-%m-%d", date: "$date" } }, time: { $dateToString: { format: "%H:%M:%S:%L", date: "$date" } } } } ] )
结果就是:
{ "_id" : 1, "yearMonthDay" : "2014-01-01", "time" : "08:15:39:736" }
$dateToString,这个需要mongodb3.0+支持。
再执行:
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" }, 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 }
相关文章推荐
- mongodb-aggregate聚合日期分组
- 利用python进行数据分析-pandas.concat/subplots/gropuby/pivot_table,多文件整合、聚合、分组,子图
- MongoDB,分组,聚合
- 利用Python进行数据分析--数据聚合与分组运算
- 利用Python进行数据分析--数据聚合与分组运算
- C# MongoDB 查询,分组,聚合,排序,条件,分页
- 利用python进入数据分析之数据聚合与数据分组运算
- 利用Python进行数据分析--数据聚合与分组运算1
- [置顶] MongoDB中的分组聚合在java中的用法
- 利用python进行数据分析-数据聚合与分组运算2
- MongoDB,分组,聚合
- mongodb:对日期进行分组,忽略时分秒 分类: mongodb 2015-01-27 22:30 254人阅读 评论(0) 收藏
- mongoDb的分组聚合查询(转载)
- mongodb:对日期进行分组,忽略时分秒
- 利用python进行数据分析之数据聚合和分组运算
- php7中使用mongoDB的聚合操作对数据进行分组求和统计操作
- 利用python进行数据分析-数据聚合与分组运算1
- MongoDB中的分组聚合在java中的用法
- Java实现MongoDB的日期(Date)分组功能
- 利用Mongodb聚合(aggregate)来进行复杂查询的技巧