#mongodb #mongo-shell #mongo-collection
#mongodb #mongo-shell #mongo-collection
Вопрос:
У меня есть куча коллекций с одинаковым префиксом, например, data_user_1, data_user_2 и т.д. Между ними также есть несколько коллекций, которые я хотел сохранить и пропустить из-за удаления.
Поэтому я ищу решение для
а) отбросить все конкретные исключения б) отбросить все data_user_*
Я искал документы, но, похоже, нет параметра, который допускал бы какие-либо из этих операций. Спасибо
Ответ №1:
К сожалению, такой опции нет.
-
Вы можете получить все доступные коллекции, используя getcollectionname
-
Затем вы можете проверить наличие сценариев включения / исключения.
-
Когда условие совпадает, вы можете выполнить
drop
его.
Комментарии:
1. Спасибо. Я опубликовал решение в качестве ответа
Ответ №2:
Я отказываюсь от поиска, поскольку, похоже, нет «удобного» способа. Итак, я написал короткий скрипт, который полностью удовлетворяет требованиям (и также довольно удобен ^^).
db.getCollectionNames().forEach(function(collname){
if(collname.includes('data_user')){
print('delete collection: ' collname);
db.getCollection(collname).drop()}
});
Надеюсь, это поможет кому-то еще.