Итерация по всем коллекциям всех БД в MongoDB - PullRequest
0 голосов
/ 30 июня 2018

Мне нужно пройти через все коллекции каждого БД. Для каждой коллекции мне нужно сделать 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 голосов
/ 30 июня 2018
  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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...