U kunt ook objecten voor het veld _id gebruiken. Het veld _id is altijd uniek. Op die manier krijg je een soort samengestelde primaire sleutel:
{ _id : { a : 1, b: 1} }
Wees voorzichtig bij het maken van deze id's dat de volgorde van de sleutels (a en b in het voorbeeld) van belang is, als je ze omwisselt, wordt het als een ander object beschouwd.
De andere mogelijkheid is om _id alleen te laten en een unieke samengestelde index te creëren.
db.things.ensureIndex({firstname: 1, lastname: 1}, {unique: true});
//Deprecated since version 3.0.0, is now an alias for db.things.createIndex()
https://docs.mongodb.org/v3.0/reference/method/db.collection.ensureIndex/