Docs Menu
Docs Home
/
MongoDB Manual
/ / /

cursor.map()

On this page

  • Compatibility
  • Behavior
  • Examples
cursor.map(function)

Important

mongosh Method

This page documents a mongosh method. This is not the documentation for a language-specific driver, such as Node.js.

For MongoDB API drivers, refer to the language-specific MongoDB driver documentation.

Applies a function to each document visited by the cursor and collects the return values from successive applications of the function into a Cursor object.

The cursor.map() method has the following parameter:

Parameter
Type
Description
function
function
A function to apply to each document visited by the cursor.

This method is available in deployments hosted in the following environments:

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

Note

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

  • MongoDB Enterprise: The subscription-based, self-managed version of MongoDB

  • MongoDB Community: The source-available, free-to-use, and self-managed version of MongoDB

cursor.map() returns a Cursor object. Note that .map() only converts the type, it does not create a new cursor. You can convert the Cursor object to an Array with .toArray().

These examples refer to the products collection:

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 }
])

Get the product names.

db.products.find().map( function(p) { return p.name; } ) ;

Calculate a discounted sale price and return the results as an array.

var salePrices = db.products.find().map( function(p) { return p.price * .9 } ).toArray() ;

Confirm that the output is an Array

salePrices.constructor.name

Tip

See also:

cursor.forEach() for similar functionality.

Back

cursor.limit