Docs 主页 → 开发应用程序 → MongoDB Manual
db.getCollection()
定义
db.getCollection(name)
返回在功能上等同于使用
db.<collectionName>
语法的集合或视图对象。该方法对于其名称可能与mongosh
本身交互的集合或视图非常有用,例如以_
开头的名称或与数据库 shell 方法匹配的名称。db.getCollection()
方法具有以下参数:范围类型说明name
字符串集合的名称。
行为
db.getCollection()
对象可以访问任何集合方法。
指定的集合可能存在于服务器上,也可能不存在。如果该集合不存在,则 MongoDB 会将其作为写入操作(如 db.collection.insertOne()
)的一部分隐式创建。
例子
以下示例使用db.getCollection()
访问auth
集合并向其中插入文档。
var authColl = db.getCollection("auth") authColl.insertOne( { usrName : "John Doe", usrDept : "Sales", usrTitle : "Executive Account Manager", authLevel : 4, authDept : [ "Sales", "Customers"] } )
此操作将返回:
{ "acknowledged" : true, "insertedId" : ObjectId("569525e144fe66d60b772763") }
由于与数据库方法db.getCollection("auth")
db.auth()
发生名称冲突,上一示例需要使用 }。直接调用db.auth
来执行插入操作将引用db.auth()
方法并出错。
以下示例尝试执行相同的操作,但不使用db.getCollection()
方法:
db.auth.insertOne( { usrName : "John Doe", usrDept : "Sales", usrTitle : "Executive Account Manager", authLevel : 4, authDept : [ "Sales", "Customers"] } )
操作错误,因为 db.auth()
方法没有 insertOne
方法。