我正在尝试使用猫鼬返回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; });
唯一的问题是名称返回的是未定义的。因此,甚至可以仅使用香草猫鼬返回收藏列表吗?
连接后尝试运行您的集合名称功能。
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; }); })