All'interno di Symfony Doctrine sto usando MongoDB come database. Ho bisogno di avere una lista di tutte le collezioni all'interno di un database.MongoDB :: listCollections non funzionante
Ho pensato che il metodo ListCollections()
mi avrebbe dato come suggerisce il nome e la documentazione. Tranne questa funzione non mi restituisce nulla.
Da Symfony PHP sto chiamando il metodo come questo:
$this->get('doctrine_mongodb.odm.default_connection')->selectDatabase('database');
Questo mi dà un'istanza della classe Doctrine\MongoDB\Database
Questa classe ha la funzione listCollection()
sotto enunciati:
/**
* Wrapper method for MongoDB::listCollections().
*
* @see http://php.net/manual/en/mongodb.listcollections.php
* @return array
*/
public function listCollections()
{
return $this->mongoDB->listCollections();
}
Come suggerisce la documentazione questa funzione dovrebbe restituire un array che fa (eppure è vuoto anche se ci sono raccolte nel mio database).
così ho spostato più profondo e guardò la documentazione del listCollections()
del plugin PECL mongo in cui si afferma:
/**
* (PECL mongo >= 0.9.0)<br/>
* Get a list of collections in this database
* @link http://www.php.net/manual/en/mongodb.listcollections.php
* @param bool $includeSystemCollections [optional] <p>Include system collections.</p>
* @return array Returns a list of MongoCollections.
*/
public function listCollections($includeSystemCollections = false) {}
come si potrebbe ottenere tutti i nomi di raccolta entro un database tra Symfony 3.0.6?
Alcuni dettagli critici:
- Mongo versione: La versione 1.5.5
- Symfony: 3.0.6
- MongoDB versione della shell: 3.2.4