Docs 菜单
Docs 主页
/ / /
PHP 库手册
/ /

MongoDB\Database::listCollections()

在此页面上

  • 定义
  • 参数
  • Return Values
  • 例子
  • 另请参阅
MongoDB\Database::listCollections()

返回此数据库中所有collection的信息。

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

指定所需选项的数组。

名称
类型
说明
authorizedCollections
布尔

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

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

1.12 版本中的新增功能

comment
混合

使用户可以指定任意注释来帮助通过数据库分析器currentOp 输出和日志来跟踪操作。

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

1.13 版本中的新增功能

筛选器
数组|对象

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

您可以为collection字段指定查询表达式(例如 nameoptions )。

maxTimeMS
整型

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

会话

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

1.3 版本中的新增功能

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

以下示例列出了test数据库中的所有collection:

<?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"开头的所有collection:

<?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()