Mongo with java - 使用batchsize查找查询

2023-12-24

我正在 mongodb 中使用 java 对批量大小设置为 500 的集合执行查找查询。我的集合有 10,000 条记录,但设置批量大小时我只得到 1-500 条记录。如何获取下一组记录?

下面是代码片段

DBCursor cursor = collection.find(query).batchSize(batchSize);
while(cursor.hasNext()) {
    // write to file.
    DBObject obj = cursor.next();
    objectIdList.add(obj.get("_id"));
}

The DBCursor允许您迭代被认为与相关的文档集query传递到find()方法。它懒洋洋地从底层数据库中以块的形式获取这些文档批量大小.

因此,使用默认的批量大小(101,IIRC),它将返回前 101 个文档给您的客户端,然后当您的客户端代码迭代到第 101 个文档之外时,它将(在幕后)获取接下来的 101 个文档,依此类推,直到首先发生以下情况:

  • 返回与您的查询相关的所有文档,即游标已耗尽
  • 你的客户端停止迭代

当您设置显式时,这同样适用批量大小所以在你的情况下,当你设置时batchSize=500, the find()调用返回一个DBCursor其中包含(最多)500 个文档,如果有超过 500 个文档与您的查询匹配,那么当您迭代超过第 500 个文档时,MongoDB Java 驱动程序将(在幕后)获取下一批。

你说...

我的集合有 10,000 条记录,但设置了批量大小后,我只得到 1-500 条记录

...如果您只获得 500 个文档,那么要么您在 500 个文档后停止迭代,要么只有 500 个文档被认为与您的相关query.

您可以使用以下命令查看有多少文档与您的查询相关count()方法。例如:

int count = collection.find(query).count();

您还可以获取与您的查询相关的所有文档一气呵成不使用DBCursor像这样 ...

List<DBObject> obj = collection.find(query).toArray();

…当然,这可能会对您的应用程序的堆产生影响,因为它会导致每个符合您标准的文档都存储在客户端的堆上(而不是通过内存批量读取它们的更内存友好的方法)DBCursor).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongo with java - 使用batchsize查找查询 的相关文章

  • @RestController 没有 @ResponseBody 方法工作不正确

    我有以下控制器 RestController RequestMapping value base url public class MyController RequestMapping value child url method Req
  • 使用 GWT 读取非常大的本地 XML 文件

    我正在使用 GWT 构建我的第一个 Java 应用程序 它必须从一个非常大的 XML 文件中读取数据 当我尝试发送对文件中信息的请求时遇到问题 并且我不太确定它是否与文件的大小或我的语义有关 在我的程序中 我有以下内容 static fin
  • 是否有任何简单(且最新)的 Java 框架可用于在 Swing 应用程序中嵌入电影?

    我正在构建一个小型 Swing 应用程序 我想在其中嵌入一部电影 重要的是 这个应用程序是一个 WebStart 应用程序 并且该库应该能够打包在我启动的 jnlp 中 即 不依赖于本机库 我知道并尝试过 JMF 但我认为与其他框架相比 其
  • Java:在 eclipse 中导出到 .jar 文件

    我正在尝试将 Eclipse 中的程序导出到 jar 文件 在我的项目中 我添加了一些图片和 PDF s 当我导出到 jar 文件时 似乎只有main已编译并导出 我的意愿是如果可能的话将所有内容导出到 jar 文件 因为这样我想将其转换为
  • 通往楼梯顶部的可能路径

    这是一个非常经典的问题 我听说谷歌在他们的面试中使用过这个问题 问题 制定一个递归方法 打印从楼梯底部到楼梯顶部的所有可能的独特路径 有 n 个楼梯 您一次只能走 1 步或 2 步 示例输出 如果它是一个有 3 级楼梯的楼梯 1 1 1 2
  • 大数据使用什么数据结构

    我有一个包含一百万行的 Excel 工作表 每行有 100 列 每行代表一个具有 100 个属性的类的实例 列值是这些属性的值 哪种数据结构最适合在这里使用来存储数百万个数据实例 Thanks 这实际上取决于您需要如何访问这些数据以及您想要
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • 如何在代理后面安装 Eclipse Neon

    对于 Neon Eclipse 附带了一个安装程序 我在安装程序中找不到任何配置菜单 我的java版本是 java version java version 1 8 0 72 Java TM SE Runtime Environment b
  • 如何根据运行的 jar 的结果让我的 ant 任务通过或失败?

    我正在运行 CrossCheck 无浏览器 js 单元测试 作为 ant 脚本的一部分 如果 CrossCheck 测试失败 我希望 ant 报告失败 这是 build xml 中的相关部分
  • 了解joda时间PeriodFormatter

    我以为我明白了 但显然我不明白 你能帮我通过这些单元测试吗 Test public void second assertEquals 00 00 01 OurDateTimeFormatter format 1000 Test public
  • 内部存储的安全性如何?

    我需要的 对于 Android 我需要永久保存数据 但也能够编辑 并且显然是读取 它 用户不应访问此数据 它可以包含诸如高分之类的内容 用户不得对其进行编辑 我的问题 我会 并且已经 使用过Internal Storage 但我不确定它实际
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • JMenu 中的文本居中

    好吧 我一直在网上寻找有关此问题的帮助 但我尝试的任何方法似乎都不起作用 我想让所有菜单文本都集中在菜单按钮上 当我使用setHorizontalTextPosition JMenu CENTER 没有变化 事实上 无论我使用什么常量 菜单
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • Resteasy 可以查看 JAX-RS 方法的参数类型吗?

    我们使用 Resteasy 3 0 9 作为 JAX RS Web 服务 最近切换到 3 0 19 我们开始看到很多RESTEASY002142 Multiple resource methods match request警告 例如 我们
  • 如何重新启动死线程? [复制]

    这个问题在这里已经有答案了 有哪些不同的可能性可以带来死线程回到可运行状态 如果您查看线程生命周期图像 就会发现一旦线程终止 您就无法返回到新位置 So 没有办法将死线程恢复到可运行状态 相反 您应该创建一个新的 Thread 实例
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • 泛型、数组和 ClassCastException

    我想这里一定发生了一些我不知道的微妙事情 考虑以下 public class Foo
  • 配置“DataSource”以使用 SSL/TLS 加密连接到 Digital Ocean 上的托管 Postgres 服务器

    我正在尝试托管数据库服务 https www digitalocean com products managed databases on 数字海洋网 https en wikipedia org wiki DigitalOcean 创建了
  • Spring表单ModelAttribute字段验证避免400 Bad Request错误

    我有一个ArticleFormModel包含正常发送的数据html form由 Spring 使用注入 ModelAttribute注释 即 RequestMapping value edit method RequestMethod PO

随机推荐

  • 远程访问HDFS

    我有hadoop服务器在某些服务器上运行 比如说IP 192 168 11 7 其 core site xml 如下
  • DataTable 服务器端仅在我有少量数据时才工作

    我正在从 json 加载传递到有关数据表表的服务器端处理 我有两种环境 一种用于测试 一种用于生产 它们具有相同的功能和数据库结构 当我在测试环境中测试新进程时 脚本加载数据没有任何问题 5行 相同的脚本不会在生产环境中加载数据 1200
  • 使用opencv读取带有type_id opencv-image的xml文件

    嘿 我在读取 type id opencv image 的 xml 文件时尝试了很多搜索 我在这里查找的只是 opencv matrix 所有可用的帮助对我来说都是无用的 请帮我从 xml 文件中读取图像矩阵 我将 xml 文件的上半部分粘
  • 如何循环这个CSS滑块动画?

    我正在尝试创建一个 css 滑块 到目前为止我只成功地让它正确迭代一次 有没有办法让它无限循环而不改变最终结果 div class slider div class slides div class slider 1 div div cla
  • 如何获取匹配源的JRE/JDK?

    我希望在我的 Windows 计算机上获得至少一个 JRE JDK 级别 其中我的 JRE JDK 源与 JRE JDK 的确切级别相匹配 我的目的是能够在调试时进入系统类 关于如何执行此操作有什么建议吗 提前致谢 大多数有用的源代码都位于
  • MongoDB查询,通过userID查找所有

    这是我的数据库中 客户 的结构 id oid xxxxx user oid xxxxx name Test Mobile email null phone xxxxx completed false v 0 我正在尝试查询具有特定 user
  • 如何使用 Moment 正确处理 Bing 中的“/Date(...-0700)/”日期格式?

    我正在使用 它以这种格式返回日期 Date 1538245980000 0700 它看起来像以毫秒为单位的 Unix 时间戳 后面跟着一个时区 此刻文档声称能够正确处理这些 https momentjs com docs parsing a
  • ReactJS 和 DRF:如何将 JWT 令牌存储在 HTTPonly cookie 中?

    目前 我的 Web 应用程序可以使用登录功能 在发出登录请求后 服务器会使用包含 2 个令牌的 JSON 对象进行响应 这是登录功能 async function login const data email email protected
  • 文本块不会更新

    我有一个TextBlock caloriesAvailableTextBlock 我正在尝试更新 这Button eatCaloriesButton 应该减少的数量TextBlock的约束为 100 但是 TextBlock不会更新 它仍然
  • AngularJS 窗口内宽尺寸更改事件

    我正在寻找一种方法来观察窗口内部宽度尺寸变化的变化 我尝试了以下方法但没有成功 scope watch window innerWidth function console log window innerWidth 有什么建议么 我们可以
  • Visual Studio致命错误LNK1120:

    只是我想使用 Visual Studio 2010 制作一个程序 当我构建时我有这个例外 我刚刚编写了空的主 C 程序 没有语法错误 我得到的是 1 gt LINK error LNK2001 unresolved external sym
  • 淘汰赛不同步手动设置选项的选定属性

    我正在使用这个 jQuery 插件来实现多选列表框http www quasipartikel at multiselect http www quasipartikel at multiselect 并且所有这些都使用 knockoutj
  • 在 Redis 中存储 numpy 数组的最快方法

    我在一个人工智能项目中使用 redis 这个想法是让多个环境模拟器在许多 CPU 核心上运行策略 模拟器将经验 状态 操作 奖励元组列表 写入 Redis 服务器 重播缓冲区 然后 训练过程将经验读取为数据集以生成新策略 新策略将部署到模拟
  • ASP.NET 默认文档

    我有default aspx和index html 我将两者都上传到服务器 但我希望我的第一页以index html 开头 我应该怎么办 如果您无权访问 IIS 并且托管在 IIS 7 Windows Server 2008 上 您可能需要
  • Puppeteer 屏幕截图缺少/不可见文本

    我正在使用 puppeteer 保存和下载由浏览器发送到 Express 应用程序的标记和 css 中的图像 Express 编译模板 只需将 POSTed 标记插入 html shell 并在本地获取 css 安装在 docker 卷上
  • 库/编程语言如何将浮点数转换为字符串

    这是我15岁时试图解开的一个谜 但我失败了 我还是不知道答案 这是一个幼稚且有缺陷的解决方案 就像我在 Stack Overflow 上看到的其他一些失败的尝试一样 const numberToString number gt let re
  • PHP字符串两种不同编码类型的比较

    我正在尝试将我知道的字符串与 php 中的网页标题进行匹配 我有以下字符串 奥比尼奥德 我的页面标题如下所示 奥比尼奥德 但如果我看一下 实际上是这样编码的
  • iPhone Store Kit 返回无效产品 ID 错误

    我正在尝试在 iPhone 上测试应用内购买 但遇到了一个问题 我请求信息的产品 ID 最终在 didRecieveResponse 方法中作为无效产品 ID 返回给我 I have 创建了与此应用程序关联的店内产品 它的包 ID 与其他所
  • pnpm、工作区依赖以及还支持发布吗?

    我是 pnpm 工作区的新手 正在尝试解决以下问题 我的演示项目 root packages 通用用户界面 main lib common ui 是一个基于 Vite 的包 包含一些可以被其他包重用的 Vue 组件 在我的示例中它由 mai
  • Mongo with java - 使用batchsize查找查询

    我正在 mongodb 中使用 java 对批量大小设置为 500 的集合执行查找查询 我的集合有 10 000 条记录 但设置批量大小时我只得到 1 500 条记录 如何获取下一组记录 下面是代码片段 DBCursor cursor co