我想处理插入到集合的失败(使用 Java),以确保我的插入成功。如果插入失败,我想执行一些后备操作。
假设以下代码使用 Java 和最新的 mongo 驱动程序(版本 2.11.3):
BasicDBObject doc = new BasicDBObject("name", "MongoDB");
WriteResult result = coll.insert(WriteConcern.SAFE, doc);
我对插入返回 WriteResult 并且它可能抛出 MongoException 的事实感到困惑。为了安全地检测任何可能的插入故障,我应该怎么做?请提供代码示例。如果您能澄清插入何时抛出异常以及何时返回一些错误写入结果。我尝试在http://api.mongodb.org/java/2.11.3/上搜索 java 驱动程序 API 文档;但是,那里缺少此信息。
WriteResult result;
try {
result = coll.insert(WriteConcern.SAFE, doc);
}
catch(MongoException ex){
logger.warn("Insert failed.", ex);
throw ex;
}
//Shall I check result here for additional errors?
如果我应该检查,我可以通过检查插入结果来检测什么类型的错误?