3

比如在创建记录时间字段之前和之后获取一个帖子

尝试使用以下语句获取文章

# Created is the time of the creation of the current article
# Before a
prev_post = db.Post.find ({'created': {'$ lt': created}}, sort = [('created', -1)], limit = 1)
# After a
next_post = db.Post.find ({'created': {'$ gt': created}}, sort = [('created', 1)], limit = 1)

结果变得不连续,有时会跳过几条记录。我不知道为什么,也许我误解了FIND?请帮忙。

4

2 回答 2

1

这看起来确实是一种奇怪的行为,但 MongoDB 并不能保证您存储记录的顺序,除非您正在查询一个数组(其中记录按插入顺序保存)。我相信 MongoDB 所做的 - 它到达与您的查询匹配的第一个文档并返回它。底线:如果逻辑需要邻居记录,请使用数组。

于 2012-08-22T07:47:47.743 回答
0

我认为这是你创造的。时间类型有问题,如果记录时间相同,系统不知道选择哪个。你可以使用_id,试试看。

于 2012-08-22T08:08:39.293 回答