比如獲取某篇文章的前一篇和後一篇記錄,有時間字段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 的理解有誤,希望大家指點迷津
黄舟2017-04-21 10:58:25
首先,語句是沒有問題的,但是你花了時間這個類型。
時間類型的話很可能會遇到時間記錄是一樣的,你檢查下你的記錄是不是有時間相同的情況。
在條件允許的情況下,你可以用_id
或者配合_id
來避免這種情況。