MongoDB::getCollectionNames

(PECL mongo >=1.3.0)

MongoDB::getCollectionNamesRécupère un tableau de noms pour toutes les collections de cette base de données

Description

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

Récupère une liste de toutes les collections dans la base de données et retourne leurs noms sous la forme d'un tableau de chaînes de caractères.

Note: Cette méthode va utiliser la commande de base de données » listCollections lors des communications avec MongoDB 2.8+. Pour les versions précédentes, la méthode va interroger la collection spéciale system.namespaces.

Liste de paramètres

options

Un tableau d'options listant les collections. Actuellement, les options disponibles sont :

  • "filter"

    Critère de requête optionnel. Si fourni, ce critère sera utilisé pour filtrer les collections inclues dans le résultat.

    Les champs pertinents qui peuvent être requêtés inclus "name" (nom de la collection comme chaine de caractères, sans préfixer par le nom de la base de données) et "options" (objet contenant les options utilisées pour créér la collection)..

    Note: MongoDB 2.6 et les versions antérieures requierent que le critère "name", si spécifié, soit une chaine de caractère (i.e. correspondance exacte). Ceci, car le driver doit préfixer la valeur avec le nom de la base de données afin de requêter la collection system.namespaces. Les versions suivantes de MongoDB n'ont pas cette limitation, comme le driver va utiliser la commande listCollections.

  • "includeSystemCollections"

    Booléen, par défaut FALSE. Détermine si les collections systèmes doivent être incluses dans le résultat.

L'option suivante peut être utilisée avec MongoDB 2.8+ :

  • "maxTimeMS"

    Spécifie une limite cumulative de temps, en millisecondes, pour procéder à l'opération (n'inclut pas le temps d'inactivité). Si l'opération n'est pas terminée durant cette période, une exception MongoExecutionTimeoutException sera émise.

Valeurs de retour

Retourne les noms des collections sous la forme d'un tableau de chaînes de caractères.

Erreurs / Exceptions

Pour MongoDB 2.6 etn précédent, une exception MongoException sera émise si une valeur différente d'une chaîne de caractères a été spécifiée pour l'option "filter" du critère "name".

Historique

Version Description
1.6.0 Modification du premier paramètre pour devenir un tableau d'options. Avant la version 1.6.0, le premier paramètre était un booléen indiquant l'option "includeSystemCollections".

Exemples

Exemple #1 Exemple avec MongoDB::getCollectionNames()

<?php
$m 
= new MongoClient();
$db $m->selectDB("demo");
$collections $db->getCollectionNames();

foreach (
$collections as $collectionName) {
    echo 
"Collection trouvée : "$collectionName"\n";
}
?>

L'exemple ci-dessus va afficher quelque chose de similaire à :

...
Collection trouvée : img
Collection trouvée : beer
Collection trouvée : collation
...

Voir aussi

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