1
我需要确保插入发生,如果失败,系统应该抛出一个错误。在MongoDB的java驱动程序中违反唯一索引约束的影响是什么?
我是否需要检查自己发生的插入,还是如果插入不可能,Java驱动程序会抛出一个错误?
我需要确保插入发生,如果失败,系统应该抛出一个错误。在MongoDB的java驱动程序中违反唯一索引约束的影响是什么?
我是否需要检查自己发生的插入,还是如果插入不可能,Java驱动程序会抛出一个错误?
你会得到一个MongoException.DuplicateKey例外
http://api.mongodb.org/java/current/com/mongodb/MongoException.DuplicateKey.html
不过,这将取决于,相信您写的关注。由于您可以:
设置错误忽略了写入问题,请在您的 驱动程序中指定w值为-1。
这会关闭写入确认。
http://docs.mongodb.org/manual/core/write-concern/
随着错误忽略集:
在这个级别写的关注,客户端无法检测失败 写操作。
默认情况下,已确认写入关注的是在驱动程序驱动的Java版本2.10.0的启用,这是不是在以前的版本的情况。因此,请检查您正在使用的驱动程序。
在最新版本中,这是一个DuplicateKeyException,请参阅: http://api.mongodb.com/java/3.2/com/mongodb/DuplicateKeyException.html – user1587520