Docs HomeMongoDB Manual

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 the function into a Cursor object.function应用于游标访问的每个文档,并将function的连续应用程序的返回值集合到Cursor对象中。

The cursor.map() method has the following parameter:cursor.map()方法具有以下参数:

Parameter参数Type类型Description描述
functionfunctionA function to apply to each document visited by the cursor.应用于游标访问的每个文档的函数。

Behavior行为

cursor.map() returns a Cursor object. 返回一个Cursor对象。Note that .map() only converts the type, it does not create a new cursor. 请注意,.map()只转换类型,不会创建新的游标。You can convert the Cursor object to an Array with .toArray().可以使用.toArray()Cursor对象转换为Array

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 ArrayArray形式返回结果

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确认输出为Array

salePrices.constructor.name
Tip

See also: 另请参阅:

cursor.forEach() for similar functionality.用于类似的功能。