Mongodb,仅查找所有最新映射记录

时间:2018-08-08 12:58:43

标签: java mongodb aggregation-framework

我有一个mongodb集合,其中包含约2000百万个代表移动设备的数据。当我将其绑定到我的服务器时,我将生成一个设备ID,由于某些原因,它可能会多次注册,而对于一个设备(imei),可能会存在多个deviceId

生成ID是集合ID,因此它是唯一的。 该集合就像

id  | imei  | createTime

现在,我需要查询该集合中的所有设备映射,但是对于同一个imei,我需要最新的设备ID。

在SQL中,我可以写

select id, imei from table join ( select max(createTime), imei from table group by imei) as t2 on(imei, createTime). 

mongodb查询中有更快的方法吗?

1 个答案:

答案 0 :(得分:0)

要在mongo中完成分组,您可以使用较旧的group byaggregation framework