mongodb 分组查询

春日里的阳光 2017-09-18 07:24:59
我有一个mongodb表,表字段有 id(id) , deviceNo(设备编号),createTime(创建时间)……等字段
每个设备,每隔20秒会向表中插入一条新的数据,大约有500个设备。
现在需要根据设备ID,通过 in 查询,查询出表中每个设备最新的数据,应该如何查询?
...全文
1401 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
春日里的阳光 2017-09-19
  • 打赏
  • 举报
回复
我自己昨天看了官网上的一些资料,也做了一些尝试,反正都没找到最优方案。最后决定采用的方案是: 新建一张中间表,每次设备数据上传后,除了保存数据记录,同时还更新这个中间表里设备对应的数据(有这个设备对应的数据就更新,没这个设备数据就插入),最后查询最新数据的时候,直接用IN查询从中间表里拿数据的就行了,感谢你的回复,基本和我这个想法一样。
rucypli 2017-09-18
  • 打赏
  • 举报
回复
如果in比较少 则拆开单独查询 按照时间倒排序取第一条 如果in比较多 可以额外插入一个小表 设备id是唯一值 用upsert更新

1,746

社区成员

发帖
与我相关
我的任务
社区描述
MongoDB相关内容讨论区
社区管理员
  • MongoDB社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧