pymongo: "操作失败:数据库错误:查询服务器出错

7 投票
2 回答
1832 浏览
提问于 2025-04-17 15:53

我们在进行查询时,有时会遇到以下错误:

OperationFailure: database error: error querying server

这个错误并不是由特定的查询引起的,当我们重复这个过程时,事情又能正常运作。有没有其他人也遇到过这个错误?

我们的环境是在亚马逊EC2上运行的一组Ubuntu虚拟机,我们使用的是Python 2.7.3和pymongo v2.3。我们还在使用Mongoengine,不过这个错误也出现在非Mongoengine的代码中。

2 个回答

0

看起来这个查询在服务器上失败了。要找出问题所在,你需要查看服务器的日志记录。

4

对于那些发现这个问题的人:

我们从来没有完全搞清楚这个问题的原因,我们的猜测是数据库连接有时会因为某种原因而失败。从我们对分布式计算的研究来看,这种情况是很常见的,需要特别处理。

最后,我们对系统进行了调整,使其能够应对数据库连接失败的问题。我们通过捕捉 OperationFailure 这样的异常,并重新建立数据库连接,解决了这个问题,还解决了我们遇到的其他类似问题。

撰写回答