flexaccess
@flexaccess
Намерен работать программистом

MongoDB/Mongoose как удалить свойство из возвращаемого объекта?

Делаю обновление - UserModel.findOneAndUpdate(_id, data). Обратно возвращается весь объект с новыми данными.
Как сказать базе. чтобы она не включала определенное свойство объекта?

Например, вот здесь я могу это контролировать:

UserModel.findOne({_id}, {property: 0})
Можно ли здесь поступить аналогично?
  • Вопрос задан
  • 461 просмотр
Пригласить эксперта
Ответы на вопрос 1
krava7
@krava7
JS Developer
ты можешь передать объект с полями, которые надо либо не надо дальше в метод select
UserModel.findOneAndUpdate(_id, data)
    .select({property: 0})

если ты работаешь через колбеки, то потом вызываешь метод exec, который его принимает
UserModel.findOneAndUpdate(_id, data)
    .select({property: 0})
    .exec(function(err, user) {
        //...
    });

а если через промисы - просто вызываешь then
UserModel.findOneAndUpdate(_id, data)
    .select({property: 0})
    .then(user => {
        //...
    })
    .catch(err => {
        //...
    });
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы