cursor.forEach()
定义
cursor.forEach(function)
重要
mongosh 方法
这是一个
mongosh
方法。 这不是Node.js
或其他特定于编程语言的驱动程序方法的文档。在大多数情况下,
mongosh
方法的工作方式与传统mongo
shell方法相同。 但是,某些旧方法在mongosh
中不可用。有关旧版
mongo
shell 文档,请参阅相应 MongoDB Server 版本的文档:有关 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。
迭代游标以将 JavaScript
function
应用到游标处的每个文档。
兼容性
此方法可用于以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
注意
所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令。
MongoDB Enterprise:基于订阅、自我管理的 MongoDB 版本
MongoDB Community:源代码可用、免费使用且可自行管理的 MongoDB 版本
语法
该方法的语法如下:
db.collection.find().forEach( <function> )
方法字段
该方法接受以下字段:
字段 | 类型 | 说明 |
---|---|---|
function | JavaScript 代码 | 应用于从游标返回的每个文档的函数。函数签名包括一个字段,用于存储从游标读取的当前文档。 |
示例
创建 users
集合:
db.users.insertMany( [ { name: "John" }, { name: "Jane" } ] )
以下示例使用 forEach()
和 find()
方法打印从 users
集合中读取的用户名。myDoc
存储当前文档。
db.users.find().forEach( function( myDoc ) { print( "User name: " + myDoc.name ) } )
示例输出:
User name: John User name: Jane
从 mongosh
2.1.0 开始,您还可以使用 for-of
循环。以下示例返回与上一示例相同的结果:
for ( const myDoc of db.users.find() ) { print( "User name: " + myDoc.name ) }
了解详情
有关具有类似功能的方法,请参阅 cursor.map()
。