検索

ホームページ  >  に質問  >  本文

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 的理解有误,希望大家指点迷津

PHPzPHPz2799日前701

全員に返信(1)返信します

  • 黄舟

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

    まず、ステートメントに問題はありませんが、time 型を使用しました。
    時刻タイプが使用されている場合は、時刻レコードが同じ時刻である可能性があります。
    条件が許せば、_id或者配合_id を使用してこの状況を回避できます。

    返事
    0
  • キャンセル返事