如何获取MongoDB中集合中所有对象的总持续时间?

时间:2018-11-26 07:29:06

标签: mongodb mongodb-query aggregation

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

0 个答案:

没有答案