gpt4 book ai didi

mongodb - 使用 pymongo 的 ReplicaSetConnection : sometimes getting "IndexError: no such item for Cursor"

转载 作者:行者123 更新时间:2023-12-01 22:41:48 25 4
gpt4 key购买 nike

我开始使用 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:游标实例没有这样的项目”。据我所知,只有当您没有任何与您的查询匹配的记录时,它才会发生。但是,我已经清楚地检查过我的光标中是否有项目。 ReplicaSetConnection 是否发生了一些奇怪的事情,这使得这些读取操作更加不稳定?

最佳答案

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

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

干杯,--彼得

关于mongodb - 使用 pymongo 的 ReplicaSetConnection : sometimes getting "IndexError: no such item for Cursor",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12060402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com