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

db.getCollectionNames()

在此页面上

  • 定义
  • 兼容性
  • 必需的访问权限
  • 行为
  • 例子
db.getCollectionNames()

返回一个包含当前数据库中所有集合和 视图名称的数组,或者如果使用访问控制运行,则根据用户的权限返回集合名称。有关详细信息,请参阅 所需的访问权限。

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

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

注意

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

db.getCollectionNames() 相当于:

db.runCommand(
{
listCollections: 1.0,
authorizedCollections: true,
nameOnly: true
}
)
  • 对于具有所需访问权限(授予对数据库执行 listCollections 操作的权限)的用户,该方法列出了数据库所有集合的名称。

  • 对于没有所需访问权限的用户,该方法仅列出用户对其拥有权限的集合。例如,如果用户对数据库中的特定集合拥有 find 权限,则该方法将只返回此集合。

从 MongoDB 4.2 开始,如果在操作完成之前,发出 db.getCollectionNames() 的客户端断开连接,MongoDB 将使用killOpdb.getCollectionNames() 标记为终止。

要在副本集成员上运行,listCollections 操作需要成员处于 PRIMARYSECONDARY 状态。如果节点处于其他状态,如 STARTUP2,则操作错误。

以下返回 records 数据库中所有集合的名称:

use records
db.getCollectionNames()

该方法以数组形式返回集合的名称:

[ "employees", "products", "mylogs", "system.indexes" ]

后退

db.getCollectionInfos