В вашем названии вы говорите «очистить», в вашем описании вы говорите «сброс». Вы также используете слово «drop», как если бы вы хотели удалить базу данных.
- Вообще говоря, вы не хотите «сбрасывать» MongoDB, если нет какой-либо проблемы с сервером.
- Как правило, вы не хотите, чтобы MongoDB «работал грязно», особенно таким образом, что его нужно «очистить».
- Как правило, удаление базы данных - это либо задача администратора, либо задача, связанная с каким-то тестовым сценарием, который вы запускаете
rake
- это инструмент для сборки, и все это функции администрирования БД.
Сможете ли вы быть более точным в том, что вы пытаетесь сделать?
Хорошо, я нашел более подробную информацию . Похоже, rake:reset
делает следующее:
:reset => ['db:drop', 'db:create', 'db:schema:load']
Итак, он выполняет сброс, создание и загрузку схемы. Все это специфичные для Rails задачи, и все они связаны с некоторыми специфическими функциями баз данных SQL.
Как правило, MongoDB не имеет схемы, поэтому обычно нет необходимости в db:create
и db:schema:load
. Таким образом, в основном вы просто делаете db:drop
(и, возможно, некоторые ensureIndex
команды)?
Я смотрю на остальные эти грабли, и многие из них не относятся к типичным случаям использования MongoDB. Если вы действительно хотите эту функциональность, вам, вероятно, придется написать ее для себя.