Menu
CoddyTech

Escolhendo os campos retornados

Parte da seção Bancos de dados com MongoDB do Journey de Node.js da Coddy. Lição 10 de 29.

Uma página de lista pode precisar de títulos sem todos os outros campos. Uma projeção escolhe quais campos o banco de dados retorna. Coloque-a no segundo argumento de find. Um valor de 1 inclui um campo.

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

O filtro vazio mantém todos os livros. A projeção altera cada documento retornado, não quais livros correspondem ao filtro. O MongoDB normalmente inclui _id mesmo quando você seleciona outros campos; defini-lo como 0 o omite. Os documentos armazenados na aba Data mantêm todos os campos originais.

challenge icon

Desafio

Fácil

Este é um pequeno projeto de prática. A configuração já está pronta; edite apenas exercise.js.

Retorne apenas o título e o ano de cada livro. Omita _id e o gênero. Execute e acesse GET /result: o primeiro resultado é {"title":"Dune","year":1965}. Confira a aba Dados: o gênero ainda existe no armazenamento.

Experimente você mesmo

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

Todas as lições de Bancos de dados com MongoDB

Pratique por conta própria: Playground de Express