如何使用mongodb分组获取一月内每天到的最早的那个人?

问题描述

有一个这种问题:一个公司有多名员工,每天进行打卡,如何获取一个月内每天到达最早的时间和到达最早时间的员工信息?

问题出现的环境背景及自己尝试过哪些方法

根据日期和最早时间进行分组,如下

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
group:{
    _id:{
        date:"$date"
    },
    time:{
        $min:'$time'
    }
}

你期待的结果是什么?实际看到的错误信息又是什么?

可以获得每天到达的最早时间,但是其他字段就没有了,如何能在分组时带出其他字段或者其他方法能实现这个目的,搜索也没有得到结果

阅读 2.1k
1 个回答

这种需求,直接把打卡时间下限限制在月初,按时间从小到大排序后limit第一个,或者直接findOne不就拿到了