我的查询返回一个对象列表 - 每个对象都是测试报告。测试报告包含一个unitId,指示哪个测试单元产生了结果。我的目标是收集每个单元的最新报告,并过滤掉所有旧报告。
示例:
查询可能如下所示:
db.getCollection('tests').find({'model' : 'roboticArm'}).sort({'endTime' : -1})
我收集了在roboticArm模型上执行的所有测试,并根据'endTime'对它们进行了排序。在内部,我们有许多用于测试的机器人手臂单元 - 比如100个。在成千上万的测试中,我只想看到每个单元的最新测试(用'unitId'键标记)。
如何构建这样的查询?有没有办法用聚合来做到这一点?