Поле _id MongoDB может иметь любое значение, которое вы хотите, если вы можете гарантировать, что оно уникально для коллекции. Если у ваших данных уже есть естественный ключ, нет причины не использовать его вместо автоматически сгенерированных ObjectID.
Не используя ObjectID, вы также упускаете другую удобную функцию: ObjectID также включает в себя unix отметка времени, когда она была сгенерирована, и многие драйверы предоставляют функцию для ее извлечения и преобразования в дату. Иногда это может сделать отдельное поле даты создания избыточным.
Но все же вы можете использовать другое поле в качестве первичного ключа, если у вас возникли проблемы. Просто убедитесь, что вы создали уникальный индекс на поле. Вы можете создать поле при вставке данных.
db.collection.createIndex( <key and index type specification>, { unique: true } )
Один пример:
db.employees.createIndex( { "uuid": 1 }, { unique: true } )