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

MongoDB\数据库::listCollections()

本页内容

  • 定义
  • 参数
  • 返回值
  • 示例
  • 另请参阅
MongoDB\Database::listCollections()

返回该数据库中所有集合的信息。

function listCollections(array $options = []): MongoDB\Model\CollectionInfoIterator
$options : array

一个数组,指定所需选项。

名称
类型
描述
authorizedCollections
布尔型

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

对于小于4.0的版本,此选项被忽略。

新特性在版本1.12.

中引入
混合型

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

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

新特性在版本1.13.

filter
array|object

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

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

maxTimeMS
integer

对游标上操作的处理累积时间限制(以毫秒为单位)。MongoDB在最早的中断点处中止操作。

session

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

新特性在版本1.3.

可遍历的MongoDB\Model\CollectionInfoIterator,它包含数据库中每个集合的MongoDB\Model\CollectionInfo对象。

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

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

输出结果如下

object(MongoDB\Model\CollectionInfo)#3 (2) {
["name"]=>
string(11) "restaurants"
["options"]=>
array(0) {
}
}
object(MongoDB\Model\CollectionInfo)#3 (2) {
["name"]=>
string(5) "users"
["options"]=>
array(0) {
}
}
object(MongoDB\Model\CollectionInfo)#3 (2) {
["name"]=>
string(6) "restos"
["options"]=>
array(0) {
}
}

以下示例列出在test数据库中所有名称以“rest”开头的集合

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

输出结果如下

object(MongoDB\Model\CollectionInfo)#3 (2) {
["name"]=>
string(11) "restaurants"
["options"]=>
array(0) {
}
}
object(MongoDB\Model\CollectionInfo)#3 (2) {
["name"]=>
string(6) "restos"
["options"]=>
array(0) {
}
}

返回

listCollectionNames()