我使用 mongo 作为发送消息列表的数据存储。每条消息都有一个id
,我希望能够(尽可能高效地)返回在提供的反向n
之前开始的结果数量。id
因此,例如,使用如下函数调用:
getHistory(start, count)
我可以提供:
getHistory("a123", 10)
这将在 'id="a123"` 的记录之前返回 10 条记录。诀窍是 ID 是 GUID,所以我不能仅仅基于它向后递增。
这就是我到目前为止所拥有的,它没有从正确的位置开始:
var cursor = collection.find({id: id}).sort({timestamp: -1}).limit(10)