cursor.map()
cursor.map(function)
Important
mongosh Method
This is a
mongosh
method. This is not the documentation forNode.js
or other programming language specific driver methods.In most cases,
mongosh
methods work the same way as the legacymongo
shell methods. However, some legacy methods are unavailable inmongosh
.For the legacy
mongo
shell documentation, refer to the documentation for the corresponding MongoDB Server release: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.
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