您好,匿名用户
随意问技术百科期待您的加入

MongoDB 如何获取某条记录的相邻记录

0 投票

比如获取某篇文章的前一篇和后一篇记录,有时间字段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 的理解有误,希望大家指点迷津

用户头像 提问 2012年 12月1日 @ Caitlyn 上等兵 (452 威望)
分享到:

1个回答

0 投票
 
最佳答案

首先,语句是没有问题的,但是你用了时间这个类型。
时间类型的话很可能会遇到时间记录是一样的,你检查下你的记录是不是有时间相同的情况。
在条件允许的情况下,你可以用_id或者配合_id来避免这种情况。

用户头像 回复 2012年 12月1日 @ Galio 上等兵 (289 威望)
选中 2012年 12月1日 @Caitlyn
提一个问题:

相关问题

0 投票
1 回复 37 阅读
用户头像 提问 2012年 12月1日 @ Lucia 上等兵 (416 威望)
0 投票
1 回复 80 阅读
0 投票
1 回复 52 阅读
用户头像 提问 2012年 12月1日 @ Talon 上等兵 (294 威望)
0 投票
1 回复 41 阅读
用户头像 提问 2012年 12月1日 @ Lux 上等兵 (267 威望)
0 投票
1 回复 47 阅读
用户头像 提问 2012年 12月1日 @ Apple 上等兵 (542 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...