mongodb查询语句怎么合并查询结果?
迷茫
迷茫 2017-05-02 09:22:41
0
1
587

想用一条语句查询三条记录,包括当前记录、上一条、下一条,怎么实现?
只知道当前记录的_id,需要按另外一个时间字段排序取相临的记录。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
PHPzhong

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

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板