2016-04-08 23 views
1

現在作業中のデータベースには40以上のコレクションがあります。 すべてのコレクションの主要な鍵の1つは「アカウント」です。 「アカウント」というフィールドがあるコレクションのすべてを知る必要があります。特定のフィールドを持つmongodb内のすべてのコレクションを検索

取得するクエリはありますか、そのようなコレクションをすべて印刷するjsスクリプトはありますか?オラクルで

私が使っていた:

SELECT * FROM ALL_TAB_COLUMNS WHERE COLUMN_NAME LIKE 'account'; 

どれでも入力が便利です。

ありがとうございます。

+0

これに関する別の問題があります。 account_id、account、accountId、Accountのような異なる命名規則を使用しているコレクションはほとんどありません。列の正規表現を行う方法はありますか? – kiranramannaiyer

答えて

4

次のmongoスクリプトは、少なくとも1つのドキュメントにaccountフィールドが含まれているすべてのコレクション名を出力します。

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

これは "account"というフィールドを正確に見つけます。どのように列名の正規表現を行うことができますか? – kiranramannaiyer

関連する問題