比如获取某篇文章的前一篇和后一篇记录,有时间字段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
에 협력하여 이러한 상황을 피할 수 있습니다.