因此,假设您拥有这样的架构:
{ _id, text }我想_id是mongo ObjectId,所以我们包含发布日期,我可以对其进行排序
让我们考虑一下,我已经打开了ID为的当前帖子
ObjectId("43cc63093475061e3d95369d")(而不是我将使用curId),并且我需要知道下一个和上一个。还可以考虑一下,我们需要按创建日期降序对所有帖子进行一次排序:
获得下一篇文章,您可以这样:
db.posts.find({_id: {$gt: curId}}).sort({_id: 1 }).limit(1)获得以前的帖子,您可以这样:
db.posts.find({_id: {$lt: curId}}).sort({_id: -1 }).limit(1)一些事情:
- 如果您不使用mongodb,则
ObjectId
上述代码对您将不起作用,但是您仍然可以使用postDate
代替id和当前post postDate代替curId
。 - 获取下一个/上一个帖子时要注意顺序,要检索需要排序asc的下一个帖子,要检索需要排序desc的上一个帖子。
- 我对猫鼬不熟悉,因此上面的脚本是mongodb shell脚本。



