Sie können auch Objekte für das _id-Feld verwenden. Das Feld _id ist immer eindeutig. Auf diese Weise erhalten Sie eine Art zusammengesetzten Primärschlüssel:
{ _id : { a : 1, b: 1} }
Achten Sie beim Erstellen dieser IDs darauf, dass die Reihenfolge der Schlüssel (a und b im Beispiel) wichtig ist. Wenn Sie sie vertauschen, wird dies als anderes Objekt betrachtet.
Die andere Möglichkeit besteht darin, _id in Ruhe zu lassen und einen eindeutigen zusammengesetzten Index zu erstellen.
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/