搜尋

首頁  >  問答  >  主體

nosql - MongoDB 如何取得某筆記錄的相鄰記錄

比如獲取某篇文章的前一篇和後一篇記錄,有時間字段created

嚐試使用下列語句獲取文章

# created 是当前文章的创建时间
# 前一篇
prev_post = db.Post.find({ 'created': { '$lt': created } }, sort = [('created', -1)], limit = 1)
# 后一篇
next_post = db.Post.find({ 'created': { '$gt': created } }, sort = [('created', 1)], limit = 1)

運行的結果是這些記錄是跳躍使的,有時候中間會跳過好幾條記錄,不知道如何解決這個問題
我想可能是我對 find 的理解有誤,希望大家指點迷津

PHPzPHPz2802 天前711

全部回覆(1)我來回復

  • 黄舟

    黄舟2017-04-21 10:58:25

    首先,語句是沒有問題的,但是你花了時間這個類型。
    時間類型的話很可能會遇到時間記錄是一樣的,你檢查下你的記錄是不是有時間相同的情況。
    在條件允許的情況下,你可以用_id或者配合_id來避免這種情況。

    回覆
    0
  • 取消回覆