#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». на самом деле он не сбрасывает никаких данных! -_-