记录一下,如何将MongoDB中的某个库数据导入到另外一个主机的MongoDB库中。
MongoDB自身支持数据的导入和导出,不需要额外组件,安装了MongoDB即可。在 MongoDB目录下存在mongoexport.exe和mongoimport.exe文件 ,这两个文件分别实现导出和导入。
数据导出
mongoexport -h dbhost -u “username” -p “password” -d dbName -c collectionName --type json/csv -f fields -o filename
参数说明:
- -h:需要数据导出的MongoDB服务地址,可指定端口号,如不指定,则默认MongoDB端口号。不指定-h,则默认127.0.0.1。
- -u:MongoDB 用户名,如果开启了权限认证的话。
- -p:MongoDB 密码,如果开启了权限认证的话。
- -d:需要数据导出的 MongoDB 某个库,库名。
- -c:集合名,MongoDB某个库的“某张表名”。
- –type:将数据以哪种格式导出,支持json和csv。不指定默认json
- -f:需要导出具体集合(“表”)中的哪个字段的数据。不指定默认集合全部字段。
- -o:导出至哪个文件中,即导出后的文件名。数据导出,自动创建生成。
这里,我需要导出本地MongoDB中mydb库(没有开启认证)中的test集合的所有数据,导出为根下的test.json文件,则:mongoexport -d mydb -c test --type json -o /test.json
数据导入
mongoimport -h dbhost -u “username” -p “password” -d dbName -c collectionName --type json/csv -f fields --file filename
- -h:需要数据导入的MongoDB服务地址,可指定端口号,如不指定,则默认MongoDB端口号。不指定-h,则默认127.0.0.1。
- -u:MongoDB 用户名,如果开启了权限认证的话。
- -p:MongoDB 密码,如果开启了权限认证的话。
- -d:需要数据导入至MongoDB 某个库,库名。
- -c:集合名,MongoDB某个库的“某张表名”。
- –type:将数据以哪种格式导入解析,支持json和csv。不指定默认json
- -f:需要导入具体集合(“表”)中的哪个字段的数据。不指定默认集合全部字段。
- –file:导入哪个文件,即从哪个文件导入解析数据。
这里,我需要将“/test.json”数据导入至本地MongoDB的mydb库(未开启权限认证)中的test集合,则:mongoimport -d mydb -c test --type json --file /test.json
当然,导入导出命令,还有其他参数,可以进行更细致的操作,具体可参考官方文档。
发表评论