cursor.map()

On this page本页内容

cursor.map(function)
Important重要
mongosh Method

This is a mongosh method. This is not the documentation for Node.js or other programming language specific driver methods.

In most cases, mongosh methods work the same way as the legacy mongo shell methods. However, some legacy methods are unavailable in mongosh.

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

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

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.用于类似功能。

←  cursor.limit()cursor.max() →