目 录CONTENT

文章目录

mongo命令行导入数据

过客
2025-10-22 / 0 评论 / 1 点赞 / 1 阅读 / 0 字

使用MongoDB命令行导入数据库能方便地进行数据迁移和恢复,可以根据数据格式和来源,选择适合的工具。

工具/方法 主要用途 支持的数据格式 关键特点
​mongoimport​ 导入JSON、CSV、TSV等格式文件 JSON, CSV, TSV 适用于单集合数据导入,支持灵活字段映射
​mongorestore 恢复mongodump创建的二进制备份(BSON格式) BSON (二进制格式) 用于恢复整个数据库或集合,包含索引
​mongo shell 导入JavaScript 脚本 JavaScript 如Navicat导出备份的数据备份

📁 使用 mongoimport导入数据文件

mongoimport工具适合导入如JSON、CSV、TSV格式的数据文件。其基本命令结构如下:

mongoimport --db <数据库名> --collection <集合名> --file <文件路径> [选项]

常用选项包括:

  • --db​ (-d):指定要导入的数据库名称。
  • --collection​ (-c):指定要导入的集合名称。
  • --file​:指定要导入的数据文件路径。
  • --drop​:导入前​​删除​​目标集合中所有现有文档不加此选项则为​​追加​​数据。
  • --jsonArray​:当JSON文件内容以​​数组形式​​组织时需要使用此选项。
  • --type​:明确指定文件类型(如 csv, tsv)。
  • --headerline​:导入CSV/TSV文件时,​​使用第一行作为字段名​​。
  • --ignoreBlanks​:忽略CSV/TSV文件中的空字段

​示例命令​

1.​ ​导入JSON文件​​(文件内容为JSON数组):

mongoimport --db mydatabase --collection mycollection --file /path/to/data.json --jsonArray

2.​ ​导入CSV文件​​(第一行为列名):

mongoimport --db mydatabase --collection mycollection --type csv --headerline --file /path/to/data.csv

3.​ ​导入前清空集合​​:

mongoimport --db mydatabase --collection mycollection --file /path/to/data.json --drop

💾 使用 mongorestore恢复数据库备份

如果你有通过 mongodump创建的二进制备份文件(通常是BSON格式),应使用 mongorestore进行恢复。这种方式能更好地保留数据类型和索引。其基本命令结构如下:

mongorestore --db <恢复后的数据库名> <备份数据路径> [选项]

常用选项包括:

  • --db​ (-d):指定恢复后数据库的名称。
  • --drop​:恢复前​​删除​​目标数据库中已存在的同名集合 。
  • --dir​:指定备份数据所在的目录路径(若未指定,则默认为当前目录下的 dump/文件夹)。

​示例命令​

  1. ​恢复整个备份​​到数据库 mydatabase

    mongorestore --db mydatabase /path/to/backup/mydatabase
    
  2. ​恢复前清空现有数据​​:

    mongorestore --db mydatabase --drop /path/to/backup/mydatabase
    

💎使用mongo shell运行脚本导入数据

  1. 使用 mongo命令来执行您的 JavaScript 文件。基本语法如下:

    mongo <数据库名> <脚本文件路径>
    
    • <数据库名>:要导入数据的数据库名称。
    • <脚本文件路径>:JavaScript 文件路径。

    例如,如果数据库叫 myapp,脚本文件在当前目录下且名为 data.js,命令就是这样:

    mongo myapp data.js
    

    如果您的 MongoDB 实例非本地或非27017端口,需要身份验证,您可能需要提供用户名、密码和认证数据库(通常是 admin):

    mongo --host 127.0.0.1:3717 -u "您的用户名" -p "您的密码" --authenticationDatabase admin myapp data.js
    

    ​工作原理​​:这个命令会启动 mongo shell,连接到指定的数据库,然后逐行执行您 .js文件中的 MongoDB 命令(例如 db.getCollection(...).insert(...)db.getCollection(...).find(...).forEach(...)),从而将数据插入到数据库中

1
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区