For an alternative to the shell command 'show dbs', refer to my note for the listDBs() method of Mongoclient(), which reproduces some simple PHP code that will yield the names of all database present.
(PECL mongo >=0.9.0)
MongoDB::listCollections — Gets an array of MongoCollection objects for all collections in this database
$options
= array()
) : arrayGets a list of all collections in the database and returns them as an array of MongoCollection objects.
Notă: Această metodă va utiliza comanda bazei de date » listCollections la comunicarea cu MongoDB 2.8+. Pentru versiunile anterioare ale bazei de date, metoda va interpela colecția specială
system.namespaces
.
options
An array of options for listing the collections. Currently available options include:
"filter"
Criteriu opțional pentru interpelare. Dacă este furnizat, acest criteriu va fi utilizat pentru a filtra colecțile incluse în rezultat.
Câmpurile relevante, ce pot fi
interpelate, includ "name"
(colecția name ca șir de caractere,
fără prefixul cu denumirea bazei de date) și "options" (obiect ce
conține opțiuni utilizate la crearea colecției).
.
Notă: MongoDB 2.6 și versiunile anterioare necesită ca criteriul
"name"
, dacă este specificat, să fie o valoare string (de ex. potrivirea la egalitate). Aceasta este din cauza că driver-ul trebuie să adauge ca prefix la valoare denumirea bazei de date pentru a interpela colecțiasystem.namespaces
. Versiunile ulterioare ale MongoDB nu au această limitare, deoarece driver-ul va utiliza comanda listCollections.
"includeSystemCollections"
Boolean, implicit
este false
. Determină dacă colecțiile de sistem trebuie incluse în rezultat.
The following option may be used with MongoDB 2.8+:
"maxTimeMS"
Specifică o limită de timp cumulativă în milisecunde pentru procesarea operațiunii pe server (nu include timpul de așteptare). Dacă operațiunea nu este terminată pe server în timpul rezervat, va fi emisă o MongoExecutionTimeoutException.
Returns an array of MongoCollection objects.
For MongoDB 2.6 and earlier, MongoException will be
thrown if a non-string value was specified for the
"filter"
option's "name"
criteria.
Versiune | Descriere |
---|---|
PECL mongo 1.6.0 |
Changed first parameter to be an array of options. Pre-1.6.0, the
first parameter was a boolean indicating the
"includeSystemCollections" option.
|
PECL mongo 1.3.0 |
Added the includeSystemCollections parameter.
|
Example #1 MongoDB::listCollections() example
The following example demonstrates running count on each collection in a database.
<?php
$m = new MongoClient();
$db = $m->selectDB("demo");
$collections = $db->listCollections();
foreach ($collections as $collection) {
echo "amount of documents in $collection: ";
echo $collection->count(), "\n";
}
?>
Exemplul de mai sus va afișa ceva similar cu:
... amount of documents in demo.pubs: 4 amount of documents in demo.elephpants: 3 amount of documents in demo.cities: 22840 ...
For an alternative to the shell command 'show dbs', refer to my note for the listDBs() method of Mongoclient(), which reproduces some simple PHP code that will yield the names of all database present.