mongo: удалить коллекцию с помощью терминала

Я хочу импортировать данные в пару коллекций. Это то чем я занимаюсь

$> mongoimport -d myDB -c myCollection --file file.json       

Проблема в том, что это будет работать только в том случае, если коллекция пуста, иначе я получаю такие ошибки, как

Mon Mar 31 10:45:52.696 E11000 duplicate key error index:.....

Поскольку я хочу сделать это в сценарии bash, мне нужно сначала очистить/удалить коллекции. Как я могу сделать это в скрипте bash?


person Jeanluca Scaljeri    schedule 31.03.2014    source источник


Ответы (2)


Прямо со страницы руководства используйте параметр --drop:

--уронить

Изменяет процесс импорта, чтобы целевой экземпляр удалял каждую коллекцию перед импортом коллекции из входных данных.

Таким образом, вы можете удалить коллекцию, в которую вы импортируете, и начать новую.

mongoimport -d myDB -c myCollection --drop --file file.json  
person Neil Lunn    schedule 31.03.2014

Вызовите метод db.collection.drop() для коллекции, чтобы удалить ее из базы данных.

В Баше используйте mongo <dbname> --eval "db.<collectionName>.drop()"

person madmxg    schedule 31.03.2014