Если ваши логины также являются адресами электронной почты, как это часто бывает, в какой-то момент ваши пользователи изменят свой адрес электронной почты, что вызовет проблемы, если вы использовали его как _id
.Даже если вы не используете адреса электронной почты для входа в систему, вы все равно можете разрешить пользователям изменять свое имя пользователя.
Но я хотел бы задать вопрос, а не есть ли недостатки использования логина как _id
,есть: есть ли недостатки в использовании стандартного поля ObjectId
?Что вы надеетесь получить, используя вместо этого логин?
Как указывает Тайлер Брок в своем ответе, использование ObjectId
дает вам некоторые дополнительные преимущества, так как есть некоторая дополнительная информация, закодированная в ObjectId
, такая какметка времени и идентификатор экземпляра MongoDB, который создал документ.Может пригодиться когда-нибудь.
По моему опыту, если и иногда, то даже , если есть действительно веская причина, чтобы поступить иначе, обычно лучше следовать потоку любой технологии, которую выиспользование.