db.getCollectionNames()
定义
必需的访问权限
db.runCommand( { listCollections: 1.0, authorizedCollections: true, nameOnly: true } )
对于具有所需访问权限(授予对数据库执行
listCollections
操作的权限)的用户,该方法列出了数据库所有集合的名称。对于没有所需访问权限的用户,该方法仅列出用户对其拥有权限的集合。例如,如果用户对数据库中的特定集合拥有
find
权限,则该方法将只返回此集合。
行为
客户端断开连接
从 MongoDB 4.2 开始,如果在操作完成之前,发出 db.getCollectionNames()
的客户端断开连接,MongoDB 将使用killOp
将 db.getCollectionNames()
标记为终止。
副本集节点状态限制
要在副本集成员上运行,listCollections
操作需要成员处于 PRIMARY
或 SECONDARY
状态。如果节点处于其他状态,如 STARTUP2
,则操作错误。
例子
以下返回 records
数据库中所有集合的名称:
use records db.getCollectionNames()
该方法以数组形式返回集合的名称:
[ "employees", "products", "mylogs", "system.indexes" ]