cursor.map()
On this page
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 thefunction
into aCursor
object.The
cursor.map()
method has the following parameter:ParameterTypeDescriptionfunction
functionA function to apply to each document visited by the cursor.
Compatibility
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
Behavior
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()
.
Examples
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 } ])
Return a Value From a Collection
Get the product names.
db.products.find().map( function(p) { return p.name; } ) ;
Return Results as an Array
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