一、部署mongodb数据库。
注:采用docker容器进行安装
- 部署详情参考此文 》》https://blog.csdn.net/u014642921/article/details/136022683
二、在admin用户创建testdb文档插入两条数据
admin> db.testdb.insertMany([{name:"1",age:1,addr:"earth"},{name:"2",age:2, addr:"moon"}])
admin> db.testdb.find()
三、导出数据
# 进入docker
root@7de87adc3b50:/# mongoexport -h localhost:27017 -d admin -u root -p root -c testdb -o /data/testdb.json
四、导入数据
注:将导出的json文件导入新的用户中
注:进入test库, 创建root用户后退出进行数据导入
mongoimport -h localhost:27017 -u root -p root -d test -c testdb --type json /data/testdb.json
五、window中导入导出
注:导出
# window -c 文档, p 密码, u 账号, d 用户
mongoexport.exe -h localhost:28007 -d database -u admin -p 123456 -c result -o D:/project/result.json
注:导入
导入json 文件, 可下载工具。 mongodb database tools 工具链接 》》 https://www.mongodb.com/try/download/database-tools
mongoimport -h localhost:27017 -u root -p root -d database -c result --type json D:/project/result.json --jsonArray
注:导入报错
尝试使用
--legacy
mongo历史版本模式进行导入
错误提示:Failed: error unmarshaling bytes on document #0: JSON decoder out of sync - data changing underfoot?
mongoimport -h localhost:27017 -u root -p root -d database -c result --file D:/project/result.json --legacy --jsonArray
总结
- mongo在window和linux系统中数据的导入导出
- mongo使用docker容器创建
- 解决在windows中导入报错后使用历史版本模式进行导入后成功