使用 pymongo 的 ReplicaSetConnection:有时会出现“IndexError:Cursor 没有这样的项目”

2024-01-20

我开始使用 pymongo 的(版本 2.2.1)ReplicaSetConnection 对象而不是 pymongo.Connection 对象。现在,当我从数据库执行读取时,例如:

if cur.count() == 0:
    raise NoDocumentsFound(self.name, self.COLLECTION_NAME)
elif cur.count() > 1:
    raise TooManyDocumentsFound(self.name, self.COLLECTION_NAME)

cur.rewind()
rec = cur[0]

我有时会收到“IndexError:Cursor 实例没有这样的项目“在最后一行。从我所能找到的有关此错误的信息来看,只有当您没有任何与您的查询匹配的记录时,它才应该发生。但是,我已经清楚地检查了我的光标中是否有项目。是ReplicaSetConnection 是否发生了一些奇怪的事情,导致这些读取操作更加不稳定?


哦,我是个白痴。事实证明,我有另一个线程同时运行一些测试代码。因此,有一个并发进程在我检查游标然后从中提取数据的时间内修改了数据库。

这是一个有趣的例子,说明游标是如何惰性的,并且游标对象本身不仅仅是一个简单的数组。

干杯, ——彼得

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

使用 pymongo 的 ReplicaSetConnection:有时会出现“IndexError:Cursor 没有这样的项目” 的相关文章

随机推荐

  • 函数计算已在真/假表达式中使用,该表达式用作表过滤表达式,这是不允许的

    我需要检查 ssas 表格模型中某个度量的当月和当年值 但由于类型不匹配 我无法执行此操作 为此 我创建了一个使用此 dax 查询的度量 CurrMonthYear CONCATENATE CONCATENATE concatenate y
  • 设置表格单元格内容的最大高度

    我有一张桌子 它应该始终占据屏幕高度的一定百分比 大多数行的高度都是固定的 但我有一行应该拉伸以填充可用空间 如果该行中单元格的内容溢出所需的高度 我希望使用溢出 隐藏来剪辑内容 不幸的是 表和行不遵守 max height 属性 这是 W
  • 从 A-Z 排序 div

    我有一个聊天网页 每个成员都有一个 DIV DIV 的外观如下 div div class chatmember 10001 div div class chatmember 10008 div div class chatmember 1
  • scipy 中的 kmeans 和 kmeans2 有什么区别?

    我是机器学习的新手 想知道 scipy 中 kmeans 和 kmeans2 之间的区别 根据文档 它们都使用 k means 算法 但是如何选择它们呢 根据文档 kmeans2 似乎是标准的 k 均值算法 并且运行直到收敛到局部最优 并且
  • SQL SELECT * FROM XXX WHERE 数组中的列名

    我正在编写一些 SQL 代码 我熟悉语法 SELECT FROM myTable WHERE myColumn in 1 2 3 假设我正在编写一些 C 代码 我想在其中使用我使用过的 C 数组 1 2 3 我怎么做 您可以动态构建 SQL
  • 当活动被破坏时,GPS图标不会消失吗?

    作为一个尝试 GPS 东西的 Android 新手 我设法将这段代码组合在一起 它的工作原理就像我期望的那样 除了一件事 GPS 图标永远不会消失 如何让GPS图标在Activity被破坏时消失 我有 locationManager rem
  • 在 Ruby 中如何找到机器上的空闲物理内存?

    我想知道系统上有多少可用物理内存 不包括任何交换区 有没有办法在 Ruby 中获取这些信息 如果您使用 Linux 您通常使用 free 命令来查找系统上的物理内存 即 RAM 详细信息 output x free 输出将类似于以下字符串
  • 如何使用 boto3 仅检索 S3 中的 last_modified 密钥

    我只想使用 boto3 从 S3 存储桶中检索特定前缀中的 last modified 密钥 Get Today s date today datetime date today Get Objects date s3 boto3 reso
  • Angular8 i18n 用于占位符标签文本

    如何在 ngx mat select search palceholderLabel 中添加 i18n div class form group col md 6 mb lg 5 mb 4 div
  • 确保 MongoDb findAndModify 中独占读取的方法?

    我有一个 MongoDB 集合 用作作业队列 多个进程从中读取记录 使用findAndModify FindAndModify搜索记录 其中activefield 为 false 将其设置为 true 这样其他进程就不会读取同一条记录 问题
  • Excel Range 中的一维数组

    我目前正在使用以下代码填充我的数组 Securities Option Base 1 Securities Array Worksheets 3 Range A8 A SymbolCount Value 这会生成一个二维数组 其中每个地址都
  • 如何解释生成对抗网络中判别器的损失和生成器的损失?

    我正在阅读人们对 DCGAN 的实现 尤其是this one https github com carpedm20 DCGAN tensorflow在张量流中 在该实现中 作者画出了判别器和生成器的损失 如下所示 图片来自https git
  • Azure Web 作业 - 如何连接到 Azure MS SQL 数据库?

    我有一个发布到 Azure 的 MVC 网站 它使用 Azure SQL 数据库 现在我们需要运行计划任务来发送短信提醒 我的印象是 Azure Web Jobs 非常适合此任务 但在启动和运行它时遇到了一些问题 我已将控制台应用程序添加到
  • 寻找最接近 0 的数字

    我有一个整数数组 我需要找到最接近零的一个 正整数优先于负整数 这是我到目前为止的代码 public class CloseToZero public static void main String args int data 2 3 2
  • InnoSetup,在运行时更改 Uninstallable 属性行为?

    SCENARIO 我创建了一个安装程序 它将安装恶意软件应用程序以用于教育目的 该安装程序包含以下两个任务 Tasks Name hidden Description Hidden mode GroupDescription Install
  • pyqtgraph中设置背景颜色的问题

    我在 python 中使用 pyqtgraph 模块时遇到问题 当我将白色背景颜色放入 glscatterplot 时 散点就消失了 就像背景颜色添加到散点图的颜色中一样 因此一切都是白色的 这是我使用的一段代码 w gl GLViewWi
  • Gem 安装 therubyracer -v '0.11.4'?

    我几乎要疯狂地安装红宝石赛车手 我知道有很多人和我有同样的问题 我也看过这些问题 但对我来说太复杂了 因为不同的情况有不同的解决方案 而事实上 一直没有很好的办法来解决这个问题 我的问题类似于this https github com co
  • R中画圆

    我不知道为什么下面的代码没有给我完整的圆圈 而只给出了它的一部分 另外 我不知道如何在以 0 0 为中心且 r 1 和 a 2 的正方形内显示圆上或圆外的点 library plotrix n lt 1000 plot new frame
  • 如果启用 Nginx 拒绝规则,则下载 PHP 文件

    我的 Nginx 服务器已经运行了一年多 没有出现任何问题 它可以很好地为 WordPress 网站提供 HTML 和 PHP 文件 最近 wp login php 遭到了一些暴力攻击 因此我决定使用 Nginx 的拒绝所有规则来限制通过
  • 使用 pymongo 的 ReplicaSetConnection:有时会出现“IndexError:Cursor 没有这样的项目”

    我开始使用 pymongo 的 版本 2 2 1 ReplicaSetConnection 对象而不是 pymongo Connection 对象 现在 当我从数据库执行读取时 例如 if cur count 0 raise NoDocum