当前位置: 首页 > 知识库问答 >
问题:

跳过mongo capped系列

桓智敏
2023-03-14

我在mongodb有一个非常大的capped系列。考虑到capped集合结构是可预测的(即,排序是预定义的,内存占用是预定义的,等等),有没有更好的方法让光标指向插入的最新项,而不是迭代?

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

这种方法的问题是我的收藏量很大。比如1100万张唱片。跳过需要20分钟。这意味着当我的光标开始发射数据时,它会落后20分钟。

共有2个答案

洪飞龙
2023-03-14

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

冯宪
2023-03-14

试试db。cappedCollection。查找()。限制(1)。排序({$natural:-1})。

 类似资料:
  • 本文向大家介绍C#跳过而,包括了C#跳过而的使用技巧和注意事项,需要的朋友参考一下 示例 SkipWhile() 用于排除元素,直到第一个不匹配为止(这对大多数人来说可能很直观)            

  • 本文向大家介绍data-structures 跳过列表,包括了data-structures 跳过列表的使用技巧和注意事项,需要的朋友参考一下

  • 问题内容: 我用freemarker渲染对象列表: 但是某些项目具有item.value null会引发异常: 我希望该freemarker呈现“ null”或不显示任何内容,并继续发送邮件,而不是对此进行阻止 我总是可以先检查列表,然后再将其发送到freemarker,但是如果我可以避免此步骤,那就更好了 问题答案: 您应该在模板中检查该值是否丢失,然后打印对接收者有意义的内容(“ null”对

  • 我正在使用Maven 2.2.1,为了构建我的项目,我使用了以下命令 但是,构建失败了,说它找不到一个工件。然而,当我使用: 一切正常。 到目前为止,我一直认为这两个命令是等效的。然而,这个链接似乎表明,Dmaven。测验skip=true也会跳过编译测试用例。 然而,这仍然不能向我解释为什么一个命令有效,而另一个命令无效。如果有人能向我解释这一点,我将不胜感激。

  • 今天在运行我的应用程序时,我在logcat上看到这样一条消息:“跳过了33帧。应用程序可能在其主线程中做了太多的工作。”。第二部分与我无关,因为当显示此消息时,我的应用程序确实在运行。但同时它说“跳过了33帧”。。这是否意味着屏幕视图会像视频一样逐帧显示。!!!

  • 我正在寻找一种方法来跳过多构建项目中某个项目的测试。我不想使用gradle构建-x测试,因为这样它将跳过所有子项目的测试。 根 子P1 build.gradle 构建。格拉德尔 构建。格拉德尔 我只想跳过“Sub P3”的测试 我可以将项目(子P3)生成文件配置为跳过测试吗?