En essayant d'obtenir une liste des collections de la mangouste

Je suis en train de retourner une liste de dbs des collections à l'aide de la mangouste. Je suis en suivant les directives énoncées ici, mais http://grokbase.com/t/gg/mongoose-orm/122xxxr7qy/mongoose-get-a-list-of-all-collections. Voici donc mon code

var mongoose = require('mongoose');
    //if (mongoose.connection.readyState == 0){//checks if already connected to the database
    console.log("creating connection to the database");
    var Config = require('../configs/config');
    var config = new Config();
    config = config.getConfig().db.dev;

    if (mongoose.connection.readyState = 0 ) {
    mongoose.connect("mongodb://austin:[email protected]:10023/test1");
    console.log('mongoose readyState is ' + mongoose.connection.readyState);
    }
    var collection;

    mongoose.connection.on('open', function (ref) {
        console.log('Connected to mongo server.');
    });

    //trying to get collection names
    mongoose.connection.db.collectionNames(function (err, names) {
        console.log(names); //[{ name: 'dbname.myCollection' }]
        module.exports.Collection = names;
    });

le seul problème est que les noms des retours comme indéfini. Alors, est-il même possible de retourner une liste de collections en utilisant simplement la vanille mangouste?

Pas directement familier avec la Mangouste, mais mes connaissances générales de Mongo et le nœud qui m'amène à croire que votre collectionNames appel est de retour indéfini parce que vous n'êtes pas réellement connecté encore. Si c'est de l'asynchrone, cette méthode peut de feu avant de les "ouvrir" les retours. Essayez de placer ce bloc à l'intérieur de la fonction open.

OriginalL'auteur Austin Davis | 2013-11-13