MongoDB::getCollectionNames

(PECL mongo >=1.3.0)

MongoDB::getCollectionNamesObtiene un array con los nombres de todas las colecciones de esta base de datos

Descripción

public MongoDB::getCollectionNames ([ array $options = array() ] ) : 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 bases de datos » listCollections 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 en el servdiro (no incluye el tiempo improductivo). Si la operación no la completa el servidor 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

add a note add a note

User Contributed Notes 1 note

up
0
George Gombay
10 years ago
A small change to the earlier example will result in a more user-friendly output that will be easier on the eye:

<?php
$dbname
= 'members';    // Previously created database
$conn = new MongoClient("localhost");

$list = $conn->selectDB($dbname)->getCollectionNames();

foreach (
$list as $coltion) {
       
$colName = $coltion;
        echo
'<p>Collection name is: <em>';
        echo
$colName;
        echo
'.</em></p>';
    }
?>

This will produce an output similar to the following;

Collection name is: addresses.
To Top