比如获取某篇文章的前一篇和后一篇记录,有时间字段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
まず、ステートメントに問題はありませんが、time 型を使用しました。
時刻タイプが使用されている場合は、時刻レコードが同じ時刻である可能性があります。
条件が許せば、_id
或者配合_id
を使用してこの状況を回避できます。