数据库之迁移常规操作(Mongodb篇)

一、部署mongodb数据库。

注:采用docker容器进行安装

二、在admin用户创建testdb文档插入两条数据

shell 复制代码
admin> db.testdb.insertMany([{name:"1",age:1,addr:"earth"},{name:"2",age:2, addr:"moon"}])
admin> db.testdb.find()

三、导出数据

shell 复制代码
# 进入docker
root@7de87adc3b50:/# mongoexport -h localhost:27017 -d admin -u root -p root -c testdb -o /data/testdb.json

四、导入数据

注:将导出的json文件导入新的用户中
注:进入test库, 创建root用户后退出进行数据导入

shell 复制代码
mongoimport -h localhost:27017 -u root -p root -d test -c testdb --type json /data/testdb.json

五、window中导入导出

注:导出

shell 复制代码
# 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

shell 复制代码
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?

shell 复制代码
mongoimport -h localhost:27017 -u root -p root -d database -c result --file D:/project/result.json --legacy --jsonArray

总结

  1. mongo在window和linux系统中数据的导入导出
  2. mongo使用docker容器创建
  3. 解决在windows中导入报错后使用历史版本模式进行导入后成功
相关推荐
石一峰6991 小时前
深入理解 Linux 中断三层机制与 1-Wire 时序锁原理
linux·运维·服务器
无限码农2 小时前
Linux上通过cmake编译uchardet
linux·运维·服务器
运维大师3 小时前
【Linux运维极简教程】06-网络配置与管理
linux·运维
探索云原生6 小时前
终于搞懂 Kueue:5 个核心对象一次讲透
linux·docker·ai·云原生·kubernetes
An_s6 小时前
机器学习python之识别图中物品信息
java·linux·开发语言
AI服务老曹7 小时前
Docker部署AI视频分析平台参数配置说明与调优指南
人工智能·docker·音视频
Championship.23.247 小时前
Linux 3.0 LVDS驱动开发详解
linux·运维·驱动开发·lvds
eggcode7 小时前
docker拉取、重命名、导出导入、删除镜像的示例
docker
风向决定发型丶8 小时前
Shell中的特殊变量
linux·运维·bash
疯狂成瘾者8 小时前
Java 常见集合方法
java·windows·python