我开始使用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是否存在奇怪的事情,这使得这些读取操作更加不稳定?
答案 0 :(得分:6)
这是一个有趣的例子,说明光标是如何延迟的,光标对象本身不仅仅是一个简单的数组。
干杯, --Peter