我在mongodb有一个非常大的上限集合。鉴于封顶集合结构是可预测的(即预定义排序,预定义内存占用等),是否有更好的方法可以将光标放在插入的LATEST项上而不是迭代?
换句话说,我现在正在做的是获取我的集合的大小(n),然后创建一个设置skip = n-1的光标,将我放在集合的末尾。然后我迭代光标并处理集合的所有新增内容。
这种方法的问题在于我的收藏很大。让我们说11米的记录。需要20分钟才能跳过。这意味着当我的光标开始发射数据时,它落后20分钟。
答案 0 :(得分:1)
尝试db.cappedCollection.find()。limit(1).sort({$ natural:-1})。
答案 1 :(得分:1)
您是否尝试过索引集合并使用$ gt - 虽然索引会对集合的写入速度产生一些影响,但这应该更快。