6

我正在制作一个图片库。每个图像都有一个 _id,当我查看图像时,我想要接下来的 3 张图像和之前的 3 张图像。我怎样才能在 mongodb 查询中得到这个?我认为我可以使用 _id 排序,因为这是不可排序的。也许使用 mapReduce 或某些特定查询?

4

1 回答 1

12

是的,您可以按_id. 使用两个查询:一个用于 3 before 和一个用于 3 after。

python中的一个例子:

my_id = coll.find()[20]['_id']
coll.find({ '_id': {'$lt': my_id}}).sort([('_id', -1)]).limit(3)  # before
coll.find({ '_id': {'$gt': my_id}}).sort('_id').limit(3)  # after
于 2013-10-01T20:01:04.143 回答