MongoDB 日期 聚合查询
时间: 2023-10-02 15:14:17 浏览: 156
mongodb中按天进行聚合查询的实例教程
MongoDB 中的日期聚合查询是指在数据库中对日期字段进行聚合操作,以获取统计结果。以下是 MongoDB 中的一些日期聚合查询:
1. $dayOfMonth:返回日期中的天数。
2. $month:返回日期中的月份。
3. $year:返回日期中的年份。
4. $dayOfWeek:返回日期中的星期几。
5. $hour:返回日期中的小时数。
6. $minute:返回日期中的分钟数。
7. $second:返回日期中的秒数。
示例:
假设有一个数据集合包含以下文档:
```
{ "_id" : 1, "name" : "Alice", "date" : ISODate("2021-08-01T12:00:00Z") }
{ "_id" : 2, "name" : "Bob", "date" : ISODate("2021-08-01T14:00:00Z") }
{ "_id" : 3, "name" : "Charlie", "date" : ISODate("2021-08-02T10:00:00Z") }
{ "_id" : 4, "name" : "David", "date" : ISODate("2021-08-02T20:00:00Z") }
{ "_id" : 5, "name" : "Eve", "date" : ISODate("2021-08-03T15:00:00Z") }
```
要获取每天的文档数量,可以使用 $group 和 $dayOfMonth 聚合查询:
```db.collection.aggregate([
{
$group : {
_id : { $dayOfMonth: "$date" },
count: { $sum: 1 }
}
}
])```
该查询将返回以下结果:
```
{ "_id" : 1, "count" : 2 }
{ "_id" : 2, "count" : 2 }
{ "_id" : 3, "count" : 1 }
```
该结果表明,在 8 月 1 日有两个文档,在 8 月 2 日有两个文档,在 8 月 3 日有一个文档。
阅读全文