温馨提示×

centos mongodb怎样导入数据

小樊
45
2026-10-08 18:45:48
栏目: 云计算

在 CentOS 上向 MongoDB 导入数据,常见方法有以下几种,根据你的数据格式选择即可。


一、使用 mongoimport 导入(最常用)

1. 安装 MongoDB 工具(如未安装)

CentOS 通常 MongoDB 安装后自带 mongoimport,如果提示命令不存在:

# MongoDB 6+ 需要单独安装工具包
sudo yum install mongodb-database-tools

2. 导入 JSON 文件

假设有 data.json:

{ "name": "Tom", "age": 20 }
{ "name": "Jerry", "age": 18 }

导入命令:

mongoimport \
  --host 127.0.0.1 \
  --port 27017 \
  --db testdb \
  --collection users \
  --file data.json \
  --jsonArray

--jsonArray:如果是 JSON 数组格式 [ {...}, {...} ] 才加


3. 导入 CSV 文件

mongoimport \
  --db testdb \
  --collection users \
  --type csv \
  --headerline \
  --file data.csv
  • --headerline:第一行作为字段名

4. 带账号密码的导入

mongoimport \
  --host 127.0.0.1 \
  --port 27017 \
  --username admin \
  --password yourpass \
  --authenticationDatabase admin \
  --db testdb \
  --collection users \
  --file data.json

二、使用 mongorestore 导入(备份恢复)

适用于 mongodump 导出的数据

mongorestore \
  --host 127.0.0.1 \
  --port 27017 \
  --db testdb \
  /backup/testdb

带账号密码:

mongorestore \
  --username admin \
  --password yourpass \
  --authenticationDatabase admin \
  --db testdb \
  /backup/testdb

三、在 MongoDB Shell 中手动导入

mongo testdb
db.users.insertMany([
  { name: "Tom", age: 20 },
  { name: "Jerry", age: 18 }
])

四、常见问题

1. 命令不存在

command not found: mongoimport

→ 安装 mongodb-database-tools

2. 连接被拒绝

  • 检查 mongod 是否启动
  • 检查防火墙
  • 检查 bindIp
systemctl status mongod

如果你能告诉我:

  • 数据格式(JSON / CSV / BSON)
  • MongoDB 版本
  • 是否开启认证

我可以给你更精确的命令。

0 踩