主页 > 其他  > 

Mongo导入导出详解

Mongo导入导出详解
一、二进制导入导出(推荐)

适用场景:全量备份/恢复,保留索引和元数据 工具:mongodump 和 mongorestore

1. 导出数据 (mongodump) mongodump --host <hostname> --port <port> \ --username <username> --password <password> \ --db <database_name> \ --collection <collection_name> \ --out <output_directory>

常用参数:

–gzip: 压缩输出–query: 按条件导出数据–authenticationDatabase: 认证数据库 2. 导入数据 (mongorestore) mongorestore --host <hostname> --port <port> \ --username <username> --password <password> \ --db <target_database> \ <input_directory>

常用参数:

–drop: 导入前清空集合–gzip: 解压导入–nsInclude: 指定导入的命名空间 二、JSON/CSV 导入导出

适用场景:跨平台数据交换,可读性强 工具:mongoexport 和 mongoimport

1. 导出为 JSON/CSV (mongoexport) mongoexport --host <hostname> --port <port> \ --username <username> --password <password> \ --db <database_name> \ --collection <collection_name> \ --type json (或 csv) \ --fields <field1,field2> \ --out <output_file.json>

常用参数:

–query: 按条件导出(使用 JSON 格式)–limit: 限制导出条数–pretty: 格式化输出 2. 导入 JSON/CSV (mongoimport) mongoimport --host <hostname> --port <port> \ --username <username> --password <password> \ --db <database_name> \ --collection <collection_name> \ --type json (或 csv) \ --file <input_file.json>

常用参数:

–drop: 导入前清空集合–headerline: CSV 文件包含表头–upsert: 使用更新插入模式 三、注意事项 数据类型兼容性 JSON 格式可能丢失 MongoDB 特有类型(如 Date, ObjectId),建议优先使用二进制格式。索引处理 mongoexport/import 不会保留索引,需手动重建;mongodump/restore 会保留索引。大文件处理 使用 --gzip 压缩可减少传输体积,处理大型数据时建议分片操作。认证与权限 确保用户对目标数据库有 readWrite 权限,使用 --authenticationDatabase 指定认证库。 四、示例场景

案例1:导出 users 集合到 JSON

mongoexport --db mydb --collection users --out users.json

案例2:从 CSV 恢复数据到新集合

mongoimport --db mydb --collection new_users --type csv --headerline --file users.csv

案例3:全库备份与恢复

# 备份 mongodump --db mydb --out /backup/20231001 # 恢复 mongorestore --db mydb_restored /backup/20231001/mydb
标签:

Mongo导入导出详解由讯客互联其他栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Mongo导入导出详解