5

我在 mongodb 中有一个非常大的上限集合。鉴于上限集合结构是可预测的(即预定义排序、预定义内存占用等),是否有更好的方法来获取插入的最新项目上的光标而不是迭代?

换句话说,我现在正在做的是获取我的集合的大小 (n),然后创建一个游标,设置 skip=n-1 以将我放在集合的末尾。然后我迭代光标并处理集合中的所有新添加。

这种方法的问题是我的收藏量很大。假设有 1100 万条记录。这需要 20 分钟才能跳过。这意味着当我的光标开始发出数据时,它落后了 20 分钟。

4

2 回答 2

1

您是否尝试过为集合建立索引并使用 $gt - 尽管索引会对集合的写入速度产生一些影响,但这应该会更快。

于 2012-04-23T10:03:01.723 回答
1

试试 db.cappedCollection.find().limit(1).sort({$natural:-1}) 。

于 2012-04-14T21:01:08.170 回答