Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

db.getCollection()

在此页面上

  • 定义
  • 兼容性
  • 行为
  • 例子
db.getCollection(name)

返回在功能上等同于使用db.<collectionName>语法的集合视图对象。 该方法对于其名称可能与 mongosh本身交互的集合或视图非常有用,例如以 _ 开头或与数据库shell方法匹配的名称。

db.getCollection() 方法具有以下参数:

Parameter
类型
说明
name
字符串
集合的名称。

此方法可用于以下环境中托管的部署:

  • MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务

注意

所有 MongoDB Atlas 集群都支持此命令。有关 Atlas 对所有命令的支持的信息,请参阅不支持的命令

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