为了账号安全,请及时绑定邮箱和手机立即绑定

mongodb查询语句怎么合并查询结果?

mongodb查询语句怎么合并查询结果?

江户川乱折腾 2018-08-13 05:37:12
想用一条语句查询三条记录,包括当前记录、上一条、下一条,怎么实现?只知道当前记录的_id,需要按另外一个时间字段排序取相临的记录。
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

很难用简单的语句,至少我范围感觉不现实,
我可以提供一下思路:

  1. 用db.coll.find({},{"只显示一列数据,或者几列,越少越好,数据量大了就不好使了,因为后面要排序操作"})$natual:1 排序后,赋值到cursor,然后forEach() 里面用两个变量保存当前一条数据,和上一条数据,直到匹配条件成功,然后就可以返回前后和当前三条数据了。
    可能还有别的更牛逼的内部办法,欢迎板砖

  2. 另外一种办法,是基于上面的,定期 $natual:1出来的数据,追加一列有序数字或者字符,然后保存到另外一张新表,然后根据新表的ID ,查询新表匹配的数据,最后通过查出来的 有序的添加的那列KEY:value 再查询一次前后数据就出来了。


查看完整回答
反对 回复 2018-08-26
  • 1 回答
  • 0 关注
  • 2106 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信