Typically the default value ObjectId is more ideal for the MongoDB _id ObjectId is a 12-byte BSON type, constructed using: A 4-byte value representing the seconds since the Unix epoch, A 3-byte machine identifier, A 2-byte process id, and A 3-byte counter, starting with a random value. The problem with creating an auto-incrementing _id is that it will be difficult to scale such a system , also it creates bottlenecks in parallel or distributed systems . Reference : http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/