如何将mongodump用于1个集合


75

如何使用mongodump将单个集合从一个数据库移动到另一个数据库?

我应该如何使用该命令及其选项?

Answers:


126

我认为这仅仅是:

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>"})

以下是一些相关的SO线程:

希望能有所帮助。


谢谢,它给了我以下错误:Error:missing; 您发出的第一个命令的before语句(MongoSession#1)。
user2325703 2013年

这是我正在尝试的命令:mongodump --db = DevDB --collection = Functions_List --out = data /
user2325703 2013年

6
您需要从操作系统提示符而不是mongo shell运行第一个命令。
Asya Kamsky

25

进行数据库(文档)转储(备份)

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 文件资料


3
对于需要还原的任何人:mongorestore --gzip --db <db-name> <collection-name.bson.gz>
tuananh

6

转储mongodb的非常基本的命令。

  1. 转储所有收藏

    mongodump
    
  2. 仅转储特定数据库

    mongodump --db=DB_NAME
    
  3. 使用用户名和密码转储数据库

    mongodump -u=USERNAME -p=PASSWORD --db=DB_NAME
    
  4. 从另一台主机转储

    mongodump --host HOST_NAME/HOST_IP --port HOST_PORT  --out {YOUR_DIRECTOTY_PATH} --db=DB_NAME
    

仅当它们允许时才能从另一台主机转储。


0

这是如何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

输出将存储在directory中meteor_users

还原应使用如下命令:

"D:\Program Files\MongoDB\Server\4.0\bin\mongorestore.exe" -d meteor -c users users.bson
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.