遍历MongoDB中所有数据库的所有集合

时间:2018-06-30 12:56:14

标签: javascript mongodb

我需要遍历每个数据库的所有集合。对于每个集合,我需要做一个collectionName.find()并打印json

以下是我尝试过的内容:

#db_get_all_collections.js

db.adminCommand("listDatabases").databases.forEach(function(d) {
           mdb = db.getSiblingDB(d.name);
           mdb.getCollectionNames().forEach(function(c)  {
                   s = mdb[c].find();
                   prinjson(s)
           }
  });

我将输出转储到以下文件中

mongo admin -u <<user_name>> -p <<password>> < db_get_all_collections.js > output.json

但是在output.json中,我看到了

MongoDB shell version: 3.0.3
   connecting to: admin

   bye

1 个答案:

答案 0 :(得分:0)

  db.adminCommand('listDatabases').databases.forEach(function(d) {
    mdb = db.getSiblingDB(d.name);
    mdb.getCollectionNames().forEach(function(c) {
        var s = mdb.getCollection(c).find().toArray();
        printjson(s)
    })
})

mongo admin -u <<user_name>> -p <<password>>  db_get_all_collections.js > output.json