mongoDB 导入导出

412 阅读2分钟

mongoDB 导入导出

MongoDB 数据库工具

MongoDB 提供了一系列数据库工具,包括:

  • 二进制导入/导出工具 mongodump、mongorestore 以及 bsondump;
  • 数据导入/导出工具 mongoimport 以及 mongoexport;
  • 诊断工具 mongostat 以及 mongotop;
  • GridFS 工具 mongofiles。

MongoDB 4.4 版本开始,这些数据库工具不再随着服务器一起发布安装,而是使用单独的软件包。

我的mongoDB版本是4.4.19,需要重新自己下载工具

下载

通过下载页面选择相应的版本、平台以及安装文件格式。

image-20231121134722918.png

我这里选择的是zip,下载成功将文件解压,将 /bin 目录文件复制到 mongoDB 的安装目录下的 /bin 目录下

image-20231121135003519.png

导出 mongoexport.exe

以管理员身份运行 cmd ,然后通过 DOS 命令进入到存放 mongoexport.exe 的文件目录,执行下列命令

mongoexport.exe --collection=svg --db=SVG --out=svg.json

将 SVG 数据库的 svg 集合 导出到该目录下的 svg.json 文件中

其中,--collection 用于指定要导出的集合,--db 指定了集合所在的数据库,--out 用于指定导出的文件路径和名称。

导入 mongoimport.exe

mongoimport.exe svg.json -d SVG -c svg --drop

导出数据类型 json ,数据库名: SVG,集合名: svg

其中,-d 用于指定目标数据库,-c 用于指定目标集合,--drop 表示如何该集合已经存在则删除后再导入。

image-20231121135922292.png 详细导入导出命令可到mongodb官方文档查看,我这里只记录我用的命令 mongoimport

mongoexport

导入/导出 添加 host

mongoexport.exe/mongoimport.exe --host="127.0.0.1:27018" --db=SVG --collection=svg --out=svg.json/--file=svg.json

问题:

1、报错

error opening output stream: open svg.json: Access is denied.

image-20231121140137694.png

解决办法:

用管理员身份运行 cmd ,通过 dos 命令进入 数据库工具存放目录下,再进行导入导出操作

2、dos 命令进入 Program Files 报错

cd Program Files 
// 报错
Set-Location : 找不到接受实际参数“Files”的位置形式参数。
所在位置 行:1 字符: 1
+ cd Program Files
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Set-Location],ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

命令应改为下列

cd "Program Files" 
cd MongoDB/Server/3.2/bin

mongoexport mongoimport 导入导出 error opening output stream: open svg.json: Access is denied.

mongoDB数据导入导出

数据库工具