数据库之迁移常规操作(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中导入报错后使用历史版本模式进行导入后成功
相关推荐
utf8mb4安全女神8 小时前
shell脚本
linux·运维·服务器
花果山~~程序猿8 小时前
ubuntu20.4下载python3.12
linux
daad7778 小时前
sitl_5760_io记录
linux·运维·服务器
XIAOHEZIcode8 小时前
进程、会话与终端——一次真实的 Linux Session 解剖
linux·后端·命令行
Albert Edison8 小时前
【Docker】镜像仓库(Registry)
运维·docker·容器
好好风格8 小时前
Scrapling:现代 Web 抓取,正在从“写选择器”走向“自适应”
linux·后端
用户2367829801688 小时前
Linux chown 命令详解:从 inode 到实战
linux
梦梦代码精8 小时前
从源码到上线:实测开源电商系统的技术选型与部署落地
docker·开源
不做无法实现的梦~8 小时前
Ubuntu 22.04 下使用 CMSIS-DAP 编译和烧录 STM32
linux·stm32·ubuntu
Junsir大斗师9 小时前
rocky9.7搭建grafana+loki+prometheus+alloy+node_exporter运维监控平台
linux·运维·grafana·prometheus