Как использовать mongodump для 1 коллекции
Как я могу использовать mongodump
переместить одну коллекцию из одной базы данных в другую?
Как мне использовать команду и ее параметры?
6 ответов
Я думаю, что это просто
mongodump --db=<old_db_name> --collection=<collection_name> --out=data/
mongorestore --db=<new_db_name> --collection=<collection_name> data/<db_name>/<collection_name>.bson
Также смотрите документы здесь и здесь.
Кстати, другой способ перемещения коллекции из одной базы данных в другую заключается в использовании renameCollection
:
db.runCommand({renameCollection:"<old_db_name>.<collection_name>",to:"<new_db_name>.<collection_name>"})
Вот некоторые связанные темы:
- Как скопировать коллекцию из одной базы данных в другую в MongoDB
- Как использовать сброшенные данные по mongodump?
Надеюсь, это поможет.
Получение базы данных (документа) дампа (резервной копии)
mongodump --host <hostname-of-mongoserver> --db <db-name> --username <dbuser-name> --password <password> --gzip --out </backup/location/>
Принимая дамп коллекции (резервное копирование)
mongodump --host <hostname-of-mongoserver> --db <db-name> --collection <collection-name> --username <dbuser-name> --password <password> --gzip --out </backup/location/>
mongodump
документация
Очень простые команды для дампа mongodb.
Сбросить всю коллекцию
mongodump
Только дамп конкретной базы данных
mongodump --db=DB_NAME
Дамп базы данных с именем пользователя и паролем
mongodump -u=USERNAME -p=PASSWORD --db=DB_NAME
Дамп с другого хоста
mongodump --host HOST_NAME/HOST_IP --port HOST_PORT --out {YOUR_DIRECTOTY_PATH} --db=DB_NAME
Возможность создания дампа с другого хоста только тогда, когда это разрешено.
Если это набор реплик, и вы хотите использовать его, вы должны использовать его так, потому что в документации указано, что вы не можете указать некоторые параметры при использовании
--uri
mongodump --uri "mongodb://user:password@mongo-en-1.example.io:27017,mongo-en-2.example.io:27017,mongo-en-3.example.io:27017/$Databasename?replicaSet=$replicasetname&authSource=admin" --collection $collectionname
Затем восстановите его обычным способом.
Ни один из них не работает у меня при создании дампа для атласа MongoDB. Вот небольшое изменение в хосте, которое работает для меня
Свалка
mongodump --uri mongodb+srv://<USERNAME>:<PASSWORD>@host.abcd.mongodb.net/db_name --collection "user_collection" --gzip --out db_backup_folder
Восстановить
mongorestore --uri mongodb+srv://<USERNAME>:<PASSWORD>@dbhost.abcd.mongodb.net -d db_name --gzip db_backup_folder
атлас-база данных-инструменты-резервное копирование-восстановление
Вот пример того, как вы можете экспортировать одну коллекцию с
mongodump.exe
в Windows 10:
"D:\Program Files\MongoDB\Server\4.0\bin\mongodump.exe" -h localhost --port 27017 -d meteor --collection users -o meteor_users
Экспортированная коллекция
users
, база данных
meteor
, гостья
localhost
, порт
27017
.
Результат будет сохранен в каталоге
meteor_users
.
Для восстановления следует использовать такую команду:
"D:\Program Files\MongoDB\Server\4.0\bin\mongorestore.exe" -d meteor -c users users.bson