java - Mongodb,只查找所有最新的映射记录
问题描述
我有一个 mongodb 集合,其中包含大约 20 亿个数据代表移动设备。当它绑定到我的服务器时,我会生成一个设备ID,由于某些原因,它可能会注册多次,有些可能一个设备可能有多个设备ID(imei)
生成 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查询有没有更快的方法?
解决方案
推荐阅读
- firebase - 如何等待最里面的firebase函数的响应?
- python - Altair mark_line plots noisier than matplotlib?
- javascript - 登录成功后如何更新 ApolloClient 授权标头?
- python - 这是在同一视图中处理多个表单集的好方法吗?
- php - 如何将php变量转换为mp3
- javascript - 如何在开始执行之前第一次在Javascript中执行for循环时设置1s延迟
- ajax - 我无法将在我的 Flask 服务器中创建的 python 字典返回到我的 Javascript HTML 页面
- ios - 在 Swift 中打开我的 iOS 应用程序的文档目录
- java - 如何为tomcat 8上的特定api调用禁用ssl连接?
- android - 缩放 Imageview 画布绘制位置后更改如何修复它