> db.user.drop() true > db.user.ensureIndex({a: 1, b: 1}, {sparse: true, unique: true}) { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.user.insert({a: 1, b: 1}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 1, b: 2}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 1, b: 3}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 2, b: 1}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 2, b: 2}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 2, b: 3}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 3, b: 1}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 3, b: 2}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 3}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 4, b: 1}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 4, b: 2}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 4}) WriteResult({ "nInserted" : 1 }) > db.user.insert({a: 4}) WriteResult({ "nInserted" : 0, "writeError" : { "code" : 11000, "errmsg" : "E11000 duplicate key error collection: project1.user index: a_1_b_1 dup key: { : 4.0, : null }" } }) > db.user.getInd db.user.getIndexKeys( db.user.getIndexSpecs( db.user.getIndexes( db.user.getIndices( > db.user.getIndexes() [ { "v" : 1, "key" : { "_id" : 1 }, "name" : "_id_", "ns" : "project1.user" }, { "v" : 1, "unique" : true, "key" : { "a" : 1, "b" : 1 }, "name" : "a_1_b_1", "ns" : "project1.user", "sparse" : true } ] >