Как получить определенные поля популяции суб-документа в мангусте

У меня есть модель пользователя и модель публикации, как описано ниже (необходимая библиотека импортирована)

Схема пользователя

const UserSchema = new mongoose.Schema({
    name: String,
    email: String,
    post: [ mongoose.Types.ObjectId, ref: 'posts' ]
});

Схема публикации

const UserSchema = new mongoose.Schema({
    title: String,
    content: String,
    postedOn: Date
});

Я хочу получить сообщение по идентификатору пользователя. Но мне не нужен взамен весь почтовый документ. Мне нужны только атрибуты «Заголовок» и «Дата» - я пробовал команду: -

const posts = await User.findById(user_id).populate('post');

Но возвращает всю коллекцию. Может ли кто-нибудь сказать мне, как я могу получить только атрибуты «Заголовок» и «Дата» сообщения (вложенного документа) из модели пользователя?


person Vaibhav    schedule 13.04.2020    source источник


Ответы (1)


Популяция мангуста позволяет использовать конкретный выбор поля, передав обычный синтаксис имени поля

const posts = await User.findById(user_id).populate('post', 'Title Date');
person ambianBeing    schedule 13.04.2020