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.
Desafío
FácilEste 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
1Documentos
Un libro como documentoColecciones y bases de datosConexión a MongoDBLectura de documentos almacenadosInserción de documentosBúsqueda de un documentoBúsqueda por ObjectIdComparación de númerosFiltros de consultaSelección de los campos devueltosOrdenación de los resultados de consultaConservar los primeros resultadosProyección, ordenación y límite2Modificación de documentos
Actualización de documentosOperadores de actualizaciónPractica por tu cuenta: Playground de Express