mongo aggregates 计算出生日期和当前日期差
时间: 2023-08-27 07:05:41 浏览: 92
计算两个日期之间的时间差
可以使用MongoDB中的聚合函数来计算出生日期和当前日期之间的差。
假设有一个名为`users`的集合,其中每个文档都包含一个`birthday`字段,表示用户的出生日期。我们可以使用聚合函数来计算每个用户的年龄,具体的聚合操作如下:
```
db.users.aggregate([
{
$project: {
age: {
$divide: [
{ $subtract: [new Date(), "$birthday"] },
31536000000 // 一年的毫秒数
]
}
}
}
])
```
上述聚合操作中,首先使用`$subtract`函数计算出当前日期与出生日期之间的毫秒差,然后使用`$divide`函数将其转换为年龄(以年为单位)。
注意,上述聚合操作中的`birthday`字段应该是一个日期类型的字段。如果是字符串类型的字段,则需要使用`$toDate`函数将其转换为日期类型。
阅读全文