场景

将远程服务器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  --authenticationDatabase admin -h 10.6.22.12: -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官方文档:https://docs.mongodb.com/manual/reference/program/mongoexport/

MongoDB导出与导入远程Linux服务器上的数据的更多相关文章

  1. Sublime Text编辑远程Linux服务器上的文件

    sublime有个叫sftp的插件,可以通过它直接打开远程机器上的文件进行编辑,并在保存后直接同步到远程linux服务器上. 用Package Control安装插件 按下Ctrl+Shift+P调出 ...

  2. Linux下不借助工具实现远程linux服务器上传下载文件

    # Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## ...

  3. vscode实现远程linux服务器上Python开发

      最近需要训练一个生成对抗网络模型,然后开发接口,不得不在一台有显卡的远程linux服务器上进行,所以,趁着这个机会研究了下怎么使用vscode来进行远程开发.   1 配置免密登录¶   (1)在 ...

  4. 用rsync备份一台linux服务器上的数据

    rsync是安装完linux后都会自带的,在机器上运行rsync命令看是否有安装即可 备份到远程服务器 这里介绍的rsync的用途是备份一台linux服务器上的数据到另外一台机器 环境 将需要备份机器 ...

  5. 使用PhpStrom等IDE编辑 远程linux服务器上的文件 实时更新

    习惯了在linux上 vim进行PHP的开发,突然忘了IDE的感觉,所以想到了.通过PhpStrom等IDE直接编辑 samba共享到 mac或者windows本地的磁盘进行编辑. 为了忘却的纪念,有 ...

  6. navicat突然连接不上远程linux服务器上的mysql

    我linux服务器上的mysql是docker安装的,突然有一天我的navicat连接不上服务器上的mysql,于是开始了下面一系列的修复 1.首先登录服务器上mysql,看是否能正常登录,我发现不能 ...

  7. 使用Navicat连接管理远程linux服务器上的mysql数据库

    第一步:选择连接,选择mysql 第二步:填写下面弹出框的信息:连接名随便写,主机名或IP地址:写上服务器的ip.  端口不变  用户名不变.  密码:输入服务器数据库的密码12345678. 接着测 ...

  8. 通过SecureCRT下载远程Linux服务器上的文件到本地Windows

    sz  文件名[先cd到需要下载的文件的目录层] [root@is13084905-0233 bookinterface]# sz test.txt rz Starting zmodem transf ...

  9. windows平台是上的sublime编辑远程linux平台上的文件

    sublime是个跨平台的强大的代码编辑工具,不多说. 想使用sublime完毕linux平台下django网站的代码编辑工作以提高效率(原来使用linux下的vim效率较低,适合编辑一些小脚本). ...

随机推荐

  1. [LeetCode] 119. Pascal's Triangle II 杨辉三角 II

    Given an index k, return the kth row of the Pascal's triangle. For example, given k = 3,Return [1,3, ...

  2. python 可变数据类型 和 不可变数据类型

    在 python 中,类型属于对象,变量是没有类型的: a=[1,2,3] a="Runoob"以上代码中,[1,2,3] 是 List 类型,"Runoob" ...

  3. Influx Sql系列教程七:delete 删除数据

    前面介绍了使用insert实现新增和修改记录的使用姿势,接下来我们看一下另外一个简单的使用方式,如何删除数据 1. delete 语句 delete的官方语法如下 DELETE FROM <me ...

  4. mysql 按照两个字段之和进行排序

    SELECT *,zan_num+fake_zan_num show_zan FROM `tf_news` order by show_zan desc TP实现 $news = M('news'); ...

  5. 重回ubutntu12.04小记(装完ubuntu做的几件事)

    原来一直是在windows下用虚拟机跑redhat 和debian 做实验和一些工程,以前也装过ubuntu和windows双系统,但是换电脑后,就一直懒得捣鼓了. 现在,由于长期需要在linux上做 ...

  6. Linux下创建Oracle19C的数据库实例

    接上一篇博客,安装 Oracle19chttps://www.cnblogs.com/xuzhaoyang/p/11264557.html 切换到root用户下,切换目录到db_1,执行,遇到选择路径 ...

  7. extend Thread 和 implements Runnable

    原文地址:extend Thread 和 implements Runnable 一个Thread的实例只能产生一个线程 or: 同一实例(Runnable实例)的多个线程 look: public ...

  8. 关于WPF中的XAML

    XAML全称extensible application markup language(可扩展性标记语言) 可扩展应用程序标记语言(XAML)是一种声明性语言.概括来说,就是为应用程序构建UI.目前 ...

  9. .net core web API使用Identity Server4 身份验证

    一.新建一个.net core web项目作为Identity server 4验证服务. 选择更改身份验证,然后再弹出的对话框里面选择个人用户账户. nuget 安装Identity server相 ...

  10. usercript and passwdcript array

    usercript and passwdcript array ######################## # nsnet_usercript # xxd -g 4 -c 16 -s +$(( ...