cursor.map()
cursor.map(function)
重要
mongosh 方法
这是一个
mongosh
方法。 这不是Node.js
或其他特定于编程语言的驱动程序方法的文档。在大多数情况下,
mongosh
方法的工作方式与传统mongo
shell方法相同。 但是,某些旧方法在mongosh
中不可用。有关旧版
mongo
shell 文档,请参阅相应 MongoDB Server 版本的文档:有关 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
将
function
应用到游标访问的每个文档,并从function
的连续应用中收集返回值到Cursor
对象中。cursor.map()
方法具有以下参数:Parameter类型说明function
function应用于游标访问的每个文档的函数。
行为
cursor.map()
返回一个 Cursor
对象。请注意,.map()
只转换类型,并不创建新游标。您可以用 .toArray()
将 Cursor
对象转换为 Array
。
示例
以下示例涉及产品集合:
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 } ])
从集合返回值
获取产品名称。
db.products.find().map( function(p) { return p.name; } ) ;
将结果返回为 Array
计算折扣销售价格,然后将结果作为数组返回。
var salePrices = db.products.find().map( function(p) { return p.price * .9 } ).toArray() ;
确认输出是 Array
salePrices.constructor.name