pymongo: "操作失败:数据库错误:查询服务器出错
我们在进行查询时,有时会遇到以下错误:
OperationFailure: database error: error querying server
这个错误并不是由特定的查询引起的,当我们重复这个过程时,事情又能正常运作。有没有其他人也遇到过这个错误?
我们的环境是在亚马逊EC2上运行的一组Ubuntu虚拟机,我们使用的是Python 2.7.3和pymongo v2.3。我们还在使用Mongoengine,不过这个错误也出现在非Mongoengine的代码中。
2 个回答
0
看起来这个查询在服务器上失败了。要找出问题所在,你需要查看服务器的日志记录。
4
对于那些发现这个问题的人:
我们从来没有完全搞清楚这个问题的原因,我们的猜测是数据库连接有时会因为某种原因而失败。从我们对分布式计算的研究来看,这种情况是很常见的,需要特别处理。
最后,我们对系统进行了调整,使其能够应对数据库连接失败的问题。我们通过捕捉 OperationFailure
这样的异常,并重新建立数据库连接,解决了这个问题,还解决了我们遇到的其他类似问题。