データベースを少し再構築したので、特定のコレクションは必要なくなりました。ただし、手作業で削除するには多すぎます(実際には数千)。問題の各コレクションは「cache_」で始まり、完全にクリーンアップされていることを確認したいいくつかのインデックスが含まれています。
すべてのコレクション名をループし、「cache_」で始まるコレクションを削除するために、mongoシェルを使用する方法を理解しようとしています。Queries &Cursorsのドキュメントによると、コレクション内のドキュメントをループする方法は理解していますが、MongoDBシェルを使用してデータベース内のコレクションをループする方法は理解していません。
擬似コードでは、これが私に必要なものです。
var all_collections = show collections
for(var collection in all_collections)
if(collection.name.indexOf('cache_')==0)
collection.drop()
FWIW、「コレクション名を介したmongodbループ」などを検索しましたが、何も見つかりませんでしたが、おそらくgooglez=Pでsuxします。
関連する注意点として...この程度の再構築を行った後db.repairDatabase()
、削除されたインデックスなどがすべてきれいできれいであることを確認するために、何かを行う必要がありますか?
ありがとう。