2016-04-08 3 views
1

В нашей базе данных сейчас работает более 40 коллекций. Одним из основных ключей во всех коллекциях является «учетная запись». Мне нужно знать все такие коллекции, где есть поле под названием «account».Найти все коллекции, сделанные в mongodb, с определенным полем

Есть ли запрос для получения или скрипт js, который печатает все такие коллекции?

В Oracle я использовал:

SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE 'account'; 

Есть входы полезно.

Заранее спасибо.

+0

Существует еще одна проблема относительно этого. Несколько коллекций используют разные соглашения об именах, такие как account_id или account или accountId или Account. Есть ли способ сделать регулярное выражение в столбце? – kiranramannaiyer

ответ

4

Следующий скрипт mongo распечатает все имена коллекций, где хотя бы один документ содержит поле account.

db.getCollectionNames().forEach(function(collname) { 
    var count = db[collname].find({"account": {$exists: true}}).count(); 
    if (count > 0) { 
     print(collname); 
    } 
}) 
+0

Здесь вы найдете поля точно с «учетной записью». Как мы можем использовать регулярное выражение имени столбца? – kiranramannaiyer

Смежные вопросы