Mongodump работает не так, как ожидалось

#mongodb #mongodump

#mongodb #mongodump

Вопрос:

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

Способ использования mongodump , если я не ошибаюсь, таков:

 mongodump -d <db-name> -o <directory>
 

когда я использую приведенную выше команду, я получаю следующую ошибку в терминале:

 Failed: error connecting to db server: no reachable servers
 

Я попытался добавить --host=127.0.0.1 после mongodump следующим образом:

 mongodump --host=127.0.0.1 -d <db-name> -o <directory>
 

Но я все равно получаю тот же результат. Что я здесь делаю не так?

Обновить:

Мне удалось устранить ошибку, запустив службу MongoDB с помощью следующей команды:

 brew services start mongodb
 

Теперь, когда я запускаю mongodump , кажется, что он работает, но я не могу его найти, когда я перехожу в каталог, где он должен быть расположен!

ПРИМЕЧАНИЕ: я использую технологию Meteor и получаю доступ к своей базе данных с meteor mongo помощью command

Комментарии:

1. Можете ли вы подключиться к оболочке mongo, запустив just mongo ?

2. @andresk нет, я не могу, он показывает мне «сбой подключения», я обычно запускаю свой mongo, используя «meteor mongo», потому что я использую Meteor JS для создания своего проекта

3. @andresk Мне удалось запустить mongo, но не mongodump, я обновлю свой вопрос,

4. и какую ошибку вы получаете сейчас?

5. @andresk, пожалуйста, проверьте вопрос еще раз, я отредактировал его снова 🙂 извините

Ответ №1:

Если вы выполняете mongodump с удаленного сервера, может случиться так, что версии несовместимы. Это приводит к тому, что никакие документы не сбрасываются без каких-либо предупреждений. (По крайней мере, из моих тестов mongodump 2.6.10 не сможет выполнить сброс из mongod 3.2.13)

Кроме того, убедитесь, что специальные символы bash не разбивают ваш запрос.

Пример:

 mongodump --db DB_name --collection colname --query "{$or: [something1, something]}"
 

Предыдущий запрос не будет работать, так как вам нужно экранировать $ with .

 mongodump --db DB_name --collection colname --query "{$or: [something1, something]}"
 

Ответ №2:

Вы могли бы попробовать:

Запустите mongodump --db <database> --port 3001 из каталога, в котором вы хотите создать выходные файлы (это создаст каталог дампа с файлами).

Порт равен 3001, поскольку, похоже, meteor не использует порт Mongodb по умолчанию

Кроме того, если ничего не появляется, попробуйте запустить с -v флагом для подробного режима, это поможет вам выяснить, почему ваши файлы не создаются. Кроме того, убедитесь, что имя вашей базы данных указано правильно.

Комментарии:

1. это не сработало, однако я считаю, что проблема не в вашем решении, потому что я получаю следующее сообщение об ошибке в консоли: «позиционные аргументы не разрешены: [meteor]», я полагаю, причина в том, что имя моей базы данных «meteor» — это команда, которую я использую для запуска своего проекта. поэтому я считаю, что проблема может быть связана с именем базы данных.

2. Сейчас я работаю над его изменением, я обновлю вас, как только закончу :). Спасибо

3. Вы можете попробовать использовать --db или просто использовать mongodump для сброса всех данных из вашего экземпляра mongo. Также помните, что никогда не используйте = sign . Например, это не --host=127.0.0.1 так, но --host 127.0.0.1

4. хорошо, большое спасибо за помощь, приму ответ, если он решит это для меня 🙂

5. я получил «сброс до 0 коллекций параллельно», когда я использовал «-v» с «mongodump -v —db meteor». на самом деле он не сбрасывает никаких данных! -_-