首頁  >  問答  >  主體

mongodb查詢語句怎麼合併查詢結果?

想用一條語句查詢三筆記錄,包括目前記錄、上一條、下一條,怎麼實現?
只知道目前記錄的_id,需要依照另外一個時間欄位排序取相臨的記錄。

迷茫迷茫2751 天前586

全部回覆(1)我來回復

  • PHPz

    PHPz2017-05-02 09:24:41

    很難用簡單的語句,至少我範圍感覺不現實,
    我可以提供一下思路:

    1. 用db.coll.find({},{"只顯示一列數據,或者幾列,越少越好,數據量大了就不好使了,因為後面要排序操作"})$natual:1排序後,賦值到cursor,然後forEach() 裡面用兩個變數保存當前一條數據,和上一條數據,直到匹配條件成功,然後就可以返回前後和當前三條數據了。
      可能還有別的更屌的內部辦法,歡迎板磚

    2. 另外一種辦法,是基於上面的,定期$natual:1出來的數據,追加一列有序數字或者字符,然後保存到另外一張新表,然後根據新表的ID ,查詢新表匹配的數據,最後透過查出來的有序的添加的那列KEY:value 再查詢一次前後資料就出來了。

    回覆
    0
  • 取消回覆