在开发过程中,如果从任何 MongoDB 操作返回的 com.mongodb.WriteResult 对象包含一个错误,那么记录或抛出一个异常是很方便的。
然而,在开发过程中,忘记这样做是很常见的,然后最终得到一个看起来运行成功的应用程序,而事实上,数据库并没有按照你的预期进行修改。
此时,你可以将 MongoTemplate 的 WriteResultChecking 属性设置为以下值之一:
EXCEPTION 当 com.mongodb.WriteResult 包含错误信息时,抛出一个异常。
NONE 当 com.mongodb.WriteResult 包含错误信息时,不做任何事情。
注意:MongoTemplate 的 WriteResultChecking 属性默认设置为 NONE。
通过基于 Java 的配置中配置 WriteResultChecking 策略,如下:
@Bean public MongoTemplate mongoTemplate(MongoClient mongoClient) { // 创建链接到本地 test 数据库的 MongoTemplate 实例 MongoTemplate mongoTemplate = new MongoTemplate(mongoClient, "test"); // 设置 WriteResultChecking 检查策略 mongoTemplate.setWriteResultChecking(WriteResultChecking.EXCEPTION); return mongoTemplate; }