cursor.map(function)Importante
Método mongosh
Esta página documenta una
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() devuelve un Cursor objeto. Tenga en cuenta que .map() solo convierte el tipo; no crea un cursor. Puede convertir el Cursor objeto en un objeto Array .toArray()con.
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
Obtenga los nombres de los productos.
db.products.find().map( function(p) { return p.name; } ) ;
Devolver resultados como un Array
Calcula un precio de venta con descuento y devuelve los resultados como una matriz.
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.