찾다

 >  Q&A  >  본문

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일 전713

모든 응답(1)나는 대답할 것이다

  • 黄舟

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

    우선 진술에는 문제가 없으나 시간형을 사용하셨습니다.
    시간 유형을 사용하는 경우 시간 기록이 동일할 가능성이 높습니다. 기록이 동일한지 확인하세요.
    조건이 허락한다면 _id을 사용하거나 _id에 협력하여 이러한 상황을 피할 수 있습니다.

    회신하다
    0
  • 취소회신하다