场景
将远程服务器A上的MongoDB数据库test下的集合people导入到服务器B数据库test的集合people_test下。
简单方案
先将A服务器数据导出,然后再执行导入到B服务器。
下面的导入和导出操作,均是在git bash下执行,如果是在windows命令行下需要稍微更改路径。
工具
利用本地原生MongoDB安装目录下的bin目录中的mongoexport和mongoimport
导出数据
这里,我打算将远程服务器A上的数据导入到我本地windows系统e盘temp目录下;
首先,进入到MongoDB的安装目录,然后:
cd bin
mongoexport -u admin -p 123456 --authenticationDatabase admin -h 10.5.10.22:27017 -d test -c people -o /e/temp/people.json
参数 | 说明 |
---|---|
-u | 用户名 |
-p | 密码 |
--authenticationDatabase | 保存用户凭据的数据库(一般是admin) |
-h | host:port |
-d | 数据库名 |
-c | 表名(只能接受一个表名参数,不能接受由空格、逗号等 分隔的多个表名,也不能用"*") |
-o | 导出的文件名 |
--file | 导入的文件名 |
--upsert | 导入的记录创建或更新 |
更多详细的操作:mongoexport --help。
导入数据
这里我打算将本地windows系统e盘temp目录下的people.json文件导入到服务器B上;
也是在bin目录下;
mongoimport -u admin -p 123456 --authenticationDatabase admin -h 10.6.22.12:27017 -d test -c people_test --file /e/temp/people.json --upsert rm /e/temp/people.json
总结
执行 | |
---|---|
导出 | mongoexport -u 用户名 -p 密码 --authenticationDatabase 用户凭据数据库 -h ip:port -d 数据库名 -c 表名 -o 导出的文件名.json |
导入后删除文件 | mongoimport -u 用户名 -p 密码 --authenticationDatabase 用户凭据数据库 -h ip:port -d 数据库名 -c 表名 --file 导出的文件名.json --upsert && rm 导出的文件名.json |
能够利用windows本地安装的MongoDB bin目录下的程序导入和导出远程服务器上的数据;
如果是导出本地MongoDB的数据,就不需要用户名和密码以及保存用户凭据的数据库。
MongoDB官方文档:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架