Insert in MongoDB without duplicates

To insert records in MongoDB and avoid duplicates, create a unique index on the field that should not contain duplicate values. When you attempt to insert a document with a duplicate value, MongoDB will reject the operation with an error.

Syntax

db.collection.createIndex({"fieldName": 1}, { unique: true });
db.collection.insert({"fieldName": "value"});

Example

Let's create a unique index on the StudentFirstName field and attempt to insert duplicate records ?

Step 1: Create Unique Index

db.insertWithoutDuplicateDemo.createIndex({"StudentFirstName":1},{ unique: true });
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}

Step 2: Insert Documents

db.insertWithoutDuplicateDemo.insertMany([
    {"StudentFirstName": "Chris"},
    {"StudentFirstName": "David"},
    {"StudentFirstName": "Bob"}
]);
{
   "acknowledged" : true,
   "insertedIds" : [
      ObjectId("5e064405150ee0e76c06a054"),
      ObjectId("5e064410150ee0e76c06a055"),
      ObjectId("5e06441f150ee0e76c06a057")
   ]
}

Step 3: Attempt Duplicate Insert

Now try inserting a duplicate "Chris" record ?

db.insertWithoutDuplicateDemo.insert({"StudentFirstName": "Chris"});
WriteError({
   "nInserted" : 0,
   "writeError" : {
      "code" : 11000,
      "errmsg" : "E11000 duplicate key error collection: test.insertWithoutDuplicateDemo index: StudentFirstName_1 dup key: { : "Chris" }"
   }
})

Verify Results

db.insertWithoutDuplicateDemo.find().pretty();
{
   "_id" : ObjectId("5e064405150ee0e76c06a054"),
   "StudentFirstName" : "Chris"
}
{
   "_id" : ObjectId("5e064410150ee0e76c06a055"),
   "StudentFirstName" : "David"
}
{
   "_id" : ObjectId("5e06441f150ee0e76c06a057"),
   "StudentFirstName" : "Bob"
}

Key Points

  • The unique index prevents duplicate values in the specified field
  • MongoDB returns error code 11000 when attempting to insert duplicates
  • Existing documents remain unchanged when duplicate inserts fail

Conclusion

Creating a unique index is the most effective way to prevent duplicate records in MongoDB. The database automatically rejects any insert operation that would create duplicate values in the indexed field.

Updated on: 2026-03-15T01:48:30+05:30

8K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements