Menu
CoddyTech

Выбор возвращаемых полей

Часть раздела Базы данных с MongoDB путешествия по Node.js на Coddy. Урок 10 из 29.

На странице со списком могут понадобиться названия без остальных полей. Проекция выбирает поля, которые возвращает база данных. Укажите её во втором аргументе функции find. Значение 1 включает поле.

await books.find({}, {projection: {title: 1, _id: 0}}).toArray();
// [{title:'Dune'}, {title:'Kindred'}, {title:'Emma'}]

Пустой фильтр оставляет все книги. Проекция изменяет каждый возвращаемый документ, а не то, какие книги соответствуют условию. Обычно MongoDB включает _id, даже если вы выбираете другие поля; присвоив ему значение 0, вы исключаете его. Документы, хранящиеся на вкладке Data, сохраняют все исходные поля.

challenge icon

Задание

Легко

Это небольшой практический проект. Настройка предоставлена; редактируй только exercise.js.

Возвращай только название и год каждой книги. Пропусти _id и жанр. Запусти и выполни запрос GET к /result: первый результат — {"title":"Dune","year":1965}. Проверь вкладку Data: жанр по-прежнему хранится.

Попробуйте сами

export async function exercise(books) {
    return await books.find().toArray();
}

Все уроки раздела Базы данных с MongoDB

Потренируйтесь самостоятельно: Песочница Express