MongoDB中的唯一复合索引在首次插入时抛出DuplicateKeyException

时间:2018-03-05 09:23:25

标签: mongodb mongo-java mongo-java-driver

我使用mongo-java-driver(3.6.3)在mongo db中的集合上创建了一个复合索引。

IndexOptions indexOptions = new IndexOptions().unique(true);
mongoCollection.createIndex(Indexes.ascending("f1","f2"), indexOptions);

在插入记录时,

mongoCollection.insertOne(dBObject);

即使数据库中没有包含相同f1和f2的记录,驱动程序也会抛出DuplicateKeyException。

E11000 duplicate key error collection: db-test.test1 index: f1_1_f2_1 dup key: { : "testf1", : "testf2" }

如果我通过mongodb-client检查数据库中的记录,则该记录将插入数据库中。 然而,应用程序代码获得了异常。

0 个答案:

没有答案