MongoDB::getCollectionNames
(PECL mongo >=1.3.0)
MongoDB::getCollectionNames — Obtiene un array con los nombres de todas las colecciones de esta base de datos
Descripción
$options = array()
] )Obtiene una lista con todas las colecciones de la base de datos y devuelve sus nombres en un array de string.
Nota: Este método empleará el comando de » listCollections de bases de datos al comunicarse con MongoDB 2.8+. Para versiones de bases de datos anteriores, el método consultará la colección especial system.namespaces.
Parámetros
-
options -
Un array de opciones para enumerar las colecciones. Actualmente las opciones disponibles son:
"filter"
Criterios de consulta opcionales. Si se proporcionan, estos criterios se emplearán para filtrar las colecciones incluidas en el resultado.
Los campoa relevantes que podrían ser requeridos incluyen "name" (el nombre de la colección como string, sin el prefijo del nombre de la base de datos) y "options" (un objeto que contiene opciones empleadas para crear la colección)..
Nota: MongoDB 2.6 y anteriores requieren que los criterios "name", si se especifican, sean un valor de tipo string (esto es, coincidencia de igualdad). Esto es así debido a que el controlador debe prefijar el valor con el nombre de la base de datos para poder consultar la colección system.namespaces. Las versiones posteriores de MongoDB no tienen esta limitación, ya que el controlador emplea el comando listCollections.
"includeSystemCollections"
Booleano, predeterminado a
FALSE. Determina si las colecciones del sistema deberían ser incluidas en el resultado.
La siguiente opción se puede utilizar con MongoDB 2.8+:
"maxTimeMS"
Especifica un tiempo límite acumulativo en milisegundos para procesar la operación (no incluye el tiempo improductivo). Si la operación no se completa dentro del período de tiempo límite, se lanzará una MongoExecutionTimeoutException.
Valores devueltos
Devuelve los nombres de las colecciones en un array de string.
Errores/Excepciones
Para MongoDB 2.6 y anteriores, se lanzará una MongoException se especifica un valor no existente para los criterios "name" de la opción "filter".
Historial de cambios
| Versión | Descripción |
|---|---|
| 1.6.0 | Se cambió el primer parámetro para que sea un array de opciones. Antes de la versión 1.6.0, el primer parámetro era un booleano que indicaba la opción "includeSystemCollections". |
Ejemplos
Ejemplo #1 Ejemplo de MongoDB::getCollectionNames()
<?php
$m = new MongoClient();
$bd = $m->selectDB("demo");
$colecciones = $bd->getCollectionNames();
foreach ($colecciones as $nombreColección) {
echo "Colección encontrada: ", $nombreColección, "\n";
}
?>
El resultado del ejemplo sería algo similar a:
... Colección encontrada: img Colección encontrada: beer Colección encontrada: collation ...
Ver también
- MongoDB::listCollections() - Obtiene un array de objetos MongoCollection para todas las colecciones de esta base de datos
- MongoDB::getCollectionInfo() - Returns information about collections in this database