cursor.map(function)Importante
Método mongosh
Este es un método
mongosh. Esta no es la documentación deNode.jsni de otros métodos de controladores específicos de lenguajes de programación.En la mayoría de los casos, los métodos
mongoshfuncionan de la misma manera que los métodos tradicionalesmongométodos shell. Sin embargo, algunos métodos heredados no están disponibles enmongosh.Para la documentación heredada de
mongoshell, revisa la documentación de la versión correspondiente de MongoDB Server:Para los controladores de la API de MongoDB, consultar la documentación específica del controlador de MongoDB para cada lenguaje.
Aplica un
functiona cada documento visitado por el cursor y recopila los valores devueltos de las aplicaciones sucesivas delfunctionen un objetoCursor.El método
cursor.map()tiene el siguiente parámetro:ParameterTipoDescripciónfunctionFunción
Una función que se 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() ;
Confirma que el resultado es un Array
salePrices.constructor.name
Tip
cursor.forEach() para una funcionalidad similar.