cursor.map(function)Importante
Método mongosh
Esta página documenta a
mongoshMétodo. Esta no es la documentación de un controlador específico del lenguaje, como Node.js.Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.
Aplica un
functiona cada documento visitado por el cursor y recopila los valores de retorno de las aplicaciones sucesivas defunctionen un objetoCursor.El método
cursor.map()tiene el siguiente parámetro:ParameterTipoDescripciónfunctionfunción
Una función para aplicar a cada documento visitado por el cursor.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Comportamiento
cursor.map() retorna un objeto Cursor. Tenga en cuenta que .map() solo convierte el tipo, no crea un nuevo cursor. Puedes convertir el objeto Cursor en un Array con .toArray().
Ejemplos
Estos ejemplos se refieren a la colección de productos:
db.products.insertMany([ { _id: 1, name: 'widget', price: 10.89 }, { _id: 2, name: 'thing', price: 11.24 }, { _id: 3, name: 'moppet', price: 8 }, { _id: 4, name: 'cosa', price: 24.19 } ])
Devolver un valor de una colección
Obtén los nombres de los productos.
db.products.find().map( function(p) { return p.name; } ) ;
Devolver los resultados como un Array
Calcula un precio de venta descontado y devuelve los resultados como un arreglo.
var salePrices = db.products.find().map( function(p) { return p.price * .9 } ).toArray() ;
Confirme que la salida es una Array
salePrices.constructor.name
Tip
cursor.forEach() para una funcionalidad similar.