温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mongodb怎么导入数据

发布时间:2026-11-07 20:55:50 来源:亿速云 阅读:97 作者:小樊 栏目:数据库

在 MongoDB 中导入数据常用方式有命令行工具、MongoDB Compass和编程方式。下面按常见场景给你说明。


一、使用 mongoimport(最常用)

1️⃣ 导入 JSON 文件

mongoimport \
  --db mydb \
  --collection users \
  --file users.json \
  --jsonArray

说明:

  • --db:数据库名
  • --collection:集合名
  • --file:数据文件
  • --jsonArray:如果 JSON 是数组格式 [{...},{...}]

示例 JSON:

[
  { "name": "Tom", "age": 18 },
  { "name": "Lucy", "age": 20 }
]

2️⃣ 导入 CSV 文件

mongoimport \
  --db mydb \
  --collection users \
  --type csv \
  --headerline \
  --file users.csv

示例 CSV:

name,age
Tom,18
Lucy,20

3️⃣ 带用户名密码的导入

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

二、使用 MongoDB Compass(图形界面)

适合不熟悉命令行的用户:

  1. 打开 MongoDB Compass
  2. 连接数据库
  3. 选择数据库 → 集合
  4. 点击 Add Data → Import File
  5. 选择 JSON / CSV 文件
  6. 点击 Import

✅ 支持 JSON、CSV
✅ 自动识别字段类型


三、使用 mongorestore(用于备份恢复)

如果你有 mongodump 导出的数据:

mongorestore --db mydb ./dump/mydb

或恢复整个备份:

mongorestore ./dump

四、使用代码导入(示例:Python)

from pymongo import MongoClient
import json

client = MongoClient("mongodb://localhost:27017")
db = client["mydb"]

with open("users.json", "r", encoding="utf-8") as f:
    data = json.load(f)

db.users.insert_many(data)

五、常见问题

❓ 导入报错“not master”

  • 连的是从节点
  • 改成连接主节点或使用 --writeConcern

❓ 字段类型不对

  • CSV 默认都是字符串
  • 可用 --columnsHaveTypes
mongoimport --type csv --columnsHaveTypes \
--fields "name.string(),age.int()" \
--file users.csv

如果你能告诉我:

  • 数据格式(JSON / CSV / SQL)
  • 数据量大小
  • 是否远程 MongoDB

我可以给你更精确的导入方案。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手