У меня есть база данных в MongoDB/Mongoose, и у меня есть коллекция пользователей, которые я использую как для аутентификации, так и как список контактов для отображения в интерфейсе.Как удалить свойство из прототипа в массиве объектов из MongoDB?
Я не хочу отправлять пароли пользователя пользователю, когда я хочу отображать список контактов, поэтому хочу удалить его из коллекции перед отправкой списка обратно.
Так что у меня что-то вроде этого
readAll(req, res, next) {
User.find()
.then(users => {
users.forEach(user => {
delete user.password;
});
res.send(users);
})
.catch(next)
},
Это сейчас работает; хотя delete user.password
возвращает true, он ничего не удаляет. Поскольку пользователь - это класс, который я определил как ModelSchema в Mongoose, пароль является частью прототипа, поэтому его нельзя удалить таким образом.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/delete
Я пытался сделать что-то вроде этого delete User.prototype.password;
, но он ничего не делает.
Как это сделать? Благодаря
Я не знала, о 'выбрать: false', это полностью имеет смысл, спасибо! – David