データベースには、削除する必要がある mongodb コレクションがたくさんあります。それらはすべて類似した名前を持っており、ワイルドカード文字のみを使用できれば簡単に削除できます。しかし、それはできないようです。
一度に複数のコレクションを選択して削除する方法はありますか?
データベースには、削除する必要がある mongodb コレクションがたくさんあります。それらはすべて類似した名前を持っており、ワイルドカード文字のみを使用できれば簡単に削除できます。しかし、それはできないようです。
一度に複数のコレクションを選択して削除する方法はありますか?
正規表現の場合、string.match を使用できます
db.getCollectionNames().forEach(function(c) {
if(!c.match("^system.indexes")) {
db.getCollection(c).drop();
}
});
次のコマンドを使用して、すべてのコレクションを削除できます。
> use database_name;
> db.getCollectionNames().forEach(function(c) {
if(c != 'system.indexes') {
db.getCollection(c).drop();
}
});
いいえ、ワイルドカード/正規表現で複数のコレクションを削除する方法はありません。あなたはそれらを一つずつ落とさなければなりません。私は最近同様のタスクを実行し、スクリプトは1秒あたり最大20〜30のコレクションをドロップすることができました。いくつ持っていますか?
mongo シェルを使用して、データベース内のすべてのコレクションを削除できます。db.dropDatabase()
実行する前に、本当にすべてを核攻撃したいことを確認してください。