mongodb - 如何获取 MongoDB 集合中所有对象的总持续时间?
问题描述
我正在使用 MongoDB 3.4.18。我有以下集合名称:student_details
。它里面的数据是这样的:
{
_id : ObjectID(generated_id),
in_time : <student_registered_in_time>
student_id : 'abc',
out_time: <student_registered_out_time>,
date_r: <date_in_ISO_FORMAT>
} ,
{
_id : ObjectID(generated_id),
in_time : <student_registered_in_time>
student_id : 'def',
out_time: <student_registered_out_time>,
date_r: <date_in_ISO_FORMAT>
}
我想打印学生在特定日期student_id
(比方说abc
)花费的总时间。例如,输出应该是
{
'student_id' : 'abc',
'total_time_spent': 'total_time_spent_in_minutes'
'date': date
}
提前致谢。
我已经尝试了以下方法。
db.student_details.aggregate([
{
$match: {
date_r: {
$gte: ISODate("2018-11-01T00:00:00.000Z"),
$lt: ISODate("2018-11-31T23:59:59.000Z")
} ,
student_id : 'abc',
}
}, {
$group: {
total: {
$sum: <confused_about_this_part>
}
}
}
]);
解决方案
推荐阅读
- docker - 如何保持 Docker 容器运行
- javascript - 表 cdk 和 mat-tabs-group 的错误
- javascript - 将对象数组转换为对象对象
- r - 嵌套子集
- java - 过滤地图列表的元素,然后在java 8+中返回地图
- julia - 如何在使用 for eachrow 迭代 DataFrame 时为列赋值
- python - 如何在plotly 3D中绘制不同高度的多个正方形
- ansible - 仅当在注册变量中找到字符串时才继续执行 Ansible 任务
- tomcat - Ansible 完成后,Tomcat 进程被中止/终止
- php - 从 woocommerce_order_details_after_order_table 挂钩访问订单对象