> db.test1.drop() true > db.test1.createIndex({ a: 1, b: 1 }, { unique: true, partialFilterExpression: { c: { $eq: 'MyClass1' } } }) { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.test1.insert({a: 1, b: 1, c: 'MyClass1'}) WriteResult({ "nInserted" : 1 }) > db.test1.insert({a: 1, b: 2, c: 'MyClass1'}) WriteResult({ "nInserted" : 1 }) > db.test1.insert({a: 2, b: 1, c: 'MyClass1'}) WriteResult({ "nInserted" : 1 }) > db.test1.insert({a: 2, b: 2, c: 'MyClass1'}) WriteResult({ "nInserted" : 1 }) > db.test1.insert({a: 2, b: 2, c: 'MyClass2'}) WriteResult({ "nInserted" : 1 }) > db.test1.insert({a: 2, b: 2, c: 'MyClass1'}) WriteResult({ "nInserted" : 0, "writeError" : { "code" : 11000, "errmsg" : "E11000 duplicate key error collection: project1.test1 index: a_1_b_1 dup key: { : 2.0, : 2.0 }" } }) > db.test1.find() { "_id" : ObjectId("56d785be814898458ee50253"), "a" : 1, "b" : 1, "c" : "MyClass1" } { "_id" : ObjectId("56d785c1814898458ee50254"), "a" : 1, "b" : 2, "c" : "MyClass1" } { "_id" : ObjectId("56d785c6814898458ee50255"), "a" : 2, "b" : 1, "c" : "MyClass1" } { "_id" : ObjectId("56d785c9814898458ee50256"), "a" : 2, "b" : 2, "c" : "MyClass1" } { "_id" : ObjectId("56d785cd814898458ee50257"), "a" : 2, "b" : 2, "c" : "MyClass2" } > db.test1.createIndex({ a: 1, b: 1 }, { unique: true, partialFilterExpression: { c: { $eq: 'MyClass3' } } }) { "ok" : 0, "errmsg" : "Index with name: a_1_b_1 already exists with different options", "code" : 85 } >