У меня есть проект, над которым я работаю и следовал руководству по созданию пользователей.Цель состояла в том, чтобы создать пользователя с уникальным именем пользователя и уникальным адресом электронной почты и паролем bcrypt.Ни один другой пользователь не сможет зарегистрироваться, используя имя пользователя или адрес электронной почты, если он используется.
Процесс включал создание пользователя с использованием приведенной ниже схемы через запрос Post с использованием почтальона.Индикатор «уникальный» был добавлен после того, как пользователь уже был создан.После того как я обновил схему, добавив в нее «уникальную» опцию, я обнаружил, что пользователи все еще могут быть созданы с одним и тем же адресом электронной почты.При поиске здесь я обнаружил, что это было связано с тем, что исходные документы были созданы с этим электронным письмом, и это было решено путем удаления этой коллекции и запуска нового, что не является большой проблемой.
var UserSchema = new Schema({
username: { type: String, lowercase: true, required: true, unique:
true},
password: { type: String, required: true },
email: { type: String, required: true, lowercase: true, unique: true}
});
Однако при исследовании MongooseВеб-сайт Я нашел некоторую информацию о проверке, которая немного смутила меня.Я просматривал проверки документов и затем FAQ на сайте Mongoose, которые, как я могу сказать, заявляют, что вместо этого в производственной среде следует использовать оболочку MongoDB для создания индексов для моих данных, если я хочу, чтобы они были подтверждены как уникальные при создании, вместо использования опции "уникальный".
Это правильно?Или зачем мне использовать «уникальный» в Mongoose, когда Mongoose говорит мне, что в конце концов мне действительно нужно будет использовать оболочку MongoDB?С проверкой схемы , доступной в MongoDB , является ли Mongoose по-прежнему предпочтительным вариантом для использования при разработке приложений MEAN, сегодня?Я действительно часто использую Mongoose, но у меня нет огромных мнений или нет необходимости создавать что-то настолько реляционное, насколько это возможно. Стоит ли изучать Mongoose, используя только сам MongoDB?Если я так неправ, это больно, это хорошо, и я могу принять это, но любая проницательность будет оценена.