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.
Desafio
FácilEste é 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
1Documentos
Um livro como documentoColeções e bancos de dadosConectando-se ao MongoDBLendo documentos armazenadosInserindo documentosEncontrando um documentoEncontrando por ObjectIdComparando númerosFiltros de consultaEscolhendo os campos retornadosOrdenando os resultados da consultaMantendo os primeiros resultadosProjeção, ordenação e limitePratique por conta própria: Playground de Express