我正在使用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>
}
}
}
]);