MongoDB::listCollections

(PECL mongo >=0.9.0)

MongoDB::listCollectionsObtiene un array de objetos MongoCollection para todas las colecciones de esta base de datos

Descripción

public MongoDB::listCollections ([ array $options = array() ] ) : array

Obtiene una lista con todas las colecciones de la base de datos y las devuelve en un array de objetos MongoCollection.

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 un array de objetos MongoCollections.

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".
1.3.0 Se añadió el parámetro includeSystemCollections.

Ejemplos

Ejemplo #1 Ejemplo de MongoDB::listCollections()

El siguiente ejemplo muestra la ejecución de count en cada una de las colecciones de una base de datos.

<?php

$m 
= new MongoClient();
$bd $m->selectDB("demo");
$colecciones $bd->listCollections();

foreach (
$colecciones as $colección) {
    echo 
"cantidad de documentos en $colección: ";
    echo 
$colección->count(), "\n";
}

?>

El resultado del ejemplo sería algo similar a:

...
cantidad de documentos en demo.pubs: 4
cantidad de documentos en demo.elephpants: 3
cantidad de documentos en demo.cities: 22840
...

Ver también