我需要确保插入发生,如果失败,系统应该抛出错误。
我是否需要自己检查是否发生了插入,或者如果无法插入,Java 驱动程序会抛出错误吗?
最佳答案
您将收到 MongoException.DuplicateKey 异常
http://api.mongodb.org/java/current/com/mongodb/MongoException.DuplicateKey.html
但是,我相信这取决于您的写作关注点。既然你可以:
set errors ignored write concern, specify w values of -1 to your driver.
这会关闭写入确认。
http://docs.mongodb.org/manual/core/write-concern/
设置忽略错误后:
With this level of write concern, the client cannot detect failed write operations.
默认情况下,从 Driver Java 版本 2.10.0 开始,驱动程序中启用了已确认写入问题,但在之前的版本中并非如此。因此,请检查您正在使用哪个驱动程序。
关于mongodb - 违反 MongoDB 的 java 驱动程序中的唯一索引约束会产生什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22644846/