Docs 菜单

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 方法。

提示

另请参阅:

← db.fsyncUnlock()

在此页面上