2013-08-30 50 views
2

我應該找到存儲在mongo數據庫中的所有集合。如何從貓鼬中找到所有的集合

require('../app/models/schemas'); //loading application schemas 
mongoose.connect('mongodb://localhost/test'); 
var db = mongoose.connection; 
db.on('error', console.error.bind(console, 'connection error:')); 
var collections = db.collections(); 
console.log(collections); 

這裏的集合打印所有模式的合併的'json'數據。

但我想找到存儲在mongo測試數據庫中的所有集合。 如何用貓鼬做到這一點?

+0

我之前發佈了一個aswer上類似的問題的http:// stackoverflow.com/questions/19961387/trying-to-get-a-list-of-collections-from-mongoose – Roger

回答

9

您可以使用collectionNames函數返回集合列表。

db.on('open', function(){ 
    mongoose.connection.db.collectionNames(function(error, names) { 
    if (error) { 
     throw new Error(error); 
    } else { 
     names.map(function(cname) { 
     console.log(cname.name); 
     }); 
    } 
    }); 
}); 

=> database1.system.indexes 
=> database1.users 
=> database1.posts 
+5

這不再有效。 'collectionName'已被刪除。 在這裏尋找更新的答案:http://stackoverflow.com/a/30675970/2422544 – Neta

-4

確保MongoDB是啓動和運行,在終端:

$蒙戈

顯示DBS

使用[DB_NAME]

秀收藏


如果您在至極分貝您的收藏知道有:

$蒙戈[DB_NAME]

秀收藏