反应重复的唯一关键错误MongoDB的Java驱动程序

问题描述 投票:0回答:1

我正在开发使用MongoDB的应用程序,和我的领域之一必须是唯一的。此字段由基于DB另一个值应用计算。如果我运行的应用程序的多个实例,但是,我能想象的应用计算相同的值。

在这种情况下,我想捕获异常,重新计算的值,然后再试一次。不幸的是,引发的异常似乎是一个简单的MongoWriteException。在我看来,只有这样,我便知道它是由于重复的关键问题是基于异常消息,但分析和利用信息的真正感觉不对。是否还有其他选择吗?

java mongodb
1个回答
1
投票

您可以检查错误的ErrorCategoryMongoWriteException内,确认使用getCategory()复制的钥匙是由于:

catch(MongoWriteException ex) {
    if(ex.getError().getCategory() == ErrorCategory.DUPLICATE_KEY) {
        //handle duplicate key error
    } else {
        //do something else...
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.