文档菜单
文档首页
/ / /
PHP库手册
/ /

MongoDB\Database::listCollectionNames()

本页面内容

  • 定义
  • 参数
  • 返回值
  • 示例
  • 相关链接

新增在版本1.7.

MongoDB\Database::listCollectionNames()

返回该数据库中所有集合的名称。

function listCollectionNames(array $options = []): Iterator
$options : array

指定所需选项的数组。

名称
类型
描述
authorizedCollections
boolean

一个标志,用于确定在启用访问控制时根据用户权限返回哪些集合。有关更多信息,请参阅listCollections命令文档。

对于小于4.0的服务器,此选项将被忽略。

新增在版本1.12.

comment
mixed

允许用户指定一个任意注释,以帮助通过数据库分析器、当前操作输出和日志来跟踪操作。

此选项自MongoDB 4.4版起可用。如果为旧版本服务器指定,将在执行时引发异常。

新增在版本1.13.

filter
array|object

查询表达式,用于过滤集合列表。

您可以指定集合字段的查询表达式(例如 nameoptions)。

maxTimeMS
整数

游标上处理操作的累计时间限制(毫秒)。MongoDB 会最早在中断点后终止操作。

会话

要与此操作关联的客户端会话。

一个迭代器,提供数据库中每个集合的名称。

以下示例列出 test 数据库中所有的集合

<?php
$database = (new MongoDB\Client)->test;
foreach ($database->listCollectionNames() as $collectionName) {
var_dump($collectionName);
}

输出结果如下

string(11) "restaurants"
string(5) "users"
string(6) "restos"

以下示例列出以 "rest" 开头的 test 数据库中的所有集合

<?php
$database = (new MongoDB\Client)->test;
$collections = $database->listCollectionNames([
'filter' => [
'name' => new MongoDB\BSON\Regex('^rest.*'),
],
]);
foreach ($collections as $collectionName) {
var_dump($collectionName);
}

输出结果如下

string(11) "restaurants"
string(6) "restos"

注意

在枚举集合名称时,过滤器表达式只能根据集合的名称和类型进行筛选。没有其他字段可供使用。

  • MongoDB\Database::listCollections()

  • listCollections 命令参考手册

  • 枚举集合 规范

返回

getWriteConcern()