Menu
CoddyTech

Selección de los campos devueltos

Parte de la sección Bases de datos con MongoDB del Journey de Node.js de Coddy. Lección 10 de 29.

Es posible que una página de lista necesite títulos sin todos los demás campos. Una proyección selecciona los campos que devuelve la base de datos. Inclúyela en el segundo argumento de find. Un valor de 1 incluye un campo.

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

El filtro vacío conserva todos los libros. La proyección modifica cada documento devuelto, no los libros que coinciden. MongoDB normalmente incluye _id incluso cuando seleccionas otros campos; establecerlo en 0 lo omite. Los documentos almacenados en la pestaña Data conservan todos sus campos originales.

challenge icon

Desafío

Fácil

Este es un pequeño proyecto de práctica. Se proporciona su configuración; edita solo exercise.js.

Devuelve solo el título y el año de cada libro. Omite _id y el género. Ejecuta y haz GET a /result: el primer resultado es {"title":"Dune","year":1965}. Revisa la pestaña Data: el género sigue existiendo en el almacenamiento.

Pruébalo tú mismo

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

Todas las lecciones de Bases de datos con MongoDB

Practica por tu cuenta: Playground de Express