suchen

Heim  >  Fragen und Antworten  >  Hauptteil

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

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

迷茫迷茫2768 Tage vor599

Antworte allen(1)Ich werde antworten

  • PHPz

    PHPz2017-05-02 09:24:41

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

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

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

    Antwort
    0
  • StornierenAntwort