Du kan också använda objekt för fältet _id. _id-fältet är alltid unikt. På så sätt får du typ en sammansatt primärnyckel:
{ _id : { a : 1, b: 1} }
Var bara försiktig när du skapar dessa ID så att ordningen på nycklar (a och b i exemplet) spelar roll, om du byter runt dem anses det vara ett annat objekt.
Den andra möjligheten är att lämna _id ifred och skapa ett unikt sammansatt index.
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/