一尘不染

试图获得猫鼬的收藏清单

node.js

我正在尝试使用猫鼬返回dbs集合的列表。我遵循此处列出的指示,但http://grokbase.com/t/gg/mongoose-
orm/122xxxr7qy/mongoose-get-a-list-of-all-
collections。所以这是我的代码

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:password1@paulo.mongohq.com: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;
    });

唯一的问题是名称返回的是未定义的。因此,甚至可以仅使用香草猫鼬返回收藏列表吗?


阅读 223

收藏
2020-07-07

共1个答案

一尘不染

连接后尝试运行您的集合名称功能。

mongoose.connection.on('open', function (ref) {
    console.log('Connected to mongo server.');
    //trying to get collection names
    mongoose.connection.db.listCollections().toArray(function (err, names) {
        console.log(names); // [{ name: 'dbname.myCollection' }]
        module.exports.Collection = names;
    });
})
2020-07-07