我使用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检查数据库中的记录,则该记录将插入数据库中。 然而,应用程序代码获得了异常。