cursor.map()
cursor.map(function)
重要
mongosh 方法
本页面提供
mongosh
方法的相关信息。这不是特定于语言的驱动程序(例如 Node.js)的文档。如需了解 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
将
function
应用到游标访问的每个文档,并从function
的连续应用中收集返回值到Cursor
对象中。cursor.map()
方法具有以下参数:Parameter类型说明function
function
应用于游标访问的每个文档的函数。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
行为
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