Задать вопрос
HoHsi
@HoHsi

Как в mongoose скрыть _id и __v?

Добрый день!
Как в Mongoose схеме скрыть поля _id и __v по умолчанию. (т.е. не просто их выкинуть при трансформации, а именно сделать их select: false).

Пробовал так:
const UserSchema = new Schema({
  _id: {
    type: mongoose.Schema.ObjectId,
    select: false
  },
  __v: {
    type: Number,
    select: false
  }
});


Но в таком случае они не генерируются по умолчанию. Пробовал и через кастомную трансформацию, но в этом случае не работает .select('+_id')
  • Вопрос задан
  • 1098 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
Никак :(
У меня просто у каждого юзера есть своя роль, в ролях записано какие поля не показывать.
Можно сделать отдельный статичный метод, который удаляет из объекта ненужные ключи, но в любом случае придется ставить костыль
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы