我开始使用 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: no such item for Cursor instance ”。从我所能找到的关于这个错误的所有信息中,它应该只在您没有任何与您的查询匹配的记录时发生。但是,我已经清楚地检查了我的光标中是否有项目。ReplicaSetConnection 是否发生了一些奇怪的事情,这使得这些读取操作更加不稳定?