You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于定义的数据模型,使用PyMongo批量插入MongoDB数据

使用PyMongo批量插入250条员工数据到MongoDB

步骤1:安装并导入PyMongo

先确保已安装PyMongo,未安装的话通过pip安装:

pip install pymongo

在代码中导入必要模块:

from pymongo import MongoClient
from datetime import datetime

步骤2:连接MongoDB数据库

根据你的MongoDB配置建立连接(示例为本地默认端口):

# 本地连接,远程则替换为对应连接字符串
client = MongoClient('mongodb://localhost:27017/')
# 指定目标数据库和集合
db = client['你的数据库名称']  # 替换为实际数据库名
employees_collection = db['employees']

步骤3:整理250条数据集格式

确保每条数据结构与你手动插入的首条数据完全匹配,注意关键细节:

  • date_assigned字段不能用Mongo Shell的{$date: 01-15-2022}格式,PyMongo需用Python的datetime对象
  • managing、department、laptop需保持「数组包裹字典」的嵌套结构

单条数据格式示例:

sample_employee = {
    "employee_id": 412153,
    "first_name": "Carrol",
    "last_name": "Dhin",
    "email": "carrol.dhin@company.com",
    "managing": [{"manager_id": 412153, "employee_id": 174543}],
    "department": [{"department_name": "Accounting", "department_budget": 500000}],
    "laptop": [{
        "serial_number": "CSS49745",
        "manufacturer": "Lenovo",
        "model": "X1 Gen 10",
        "date_assigned": datetime(2022, 1, 15),
        "installed_software": ["MS Office", "Adobe Acrobat", "Slack"]
    }]
}

将250条数据全部整理为字典,存入一个列表(比如employees_data_list)。

步骤4:批量插入数据

使用insert_many()方法批量插入,比循环调用insert_one()效率更高:

try:
    result = employees_collection.insert_many(employees_data_list)
    print(f"成功插入{len(result.inserted_ids)}条数据")
except Exception as e:
    print(f"插入出错: {e}")

额外注意

  • 若数据集来自CSV/Excel,需先解析文件,将每行数据转换为符合要求的字典结构
  • 确保employee_id等唯一字段无重复(若设置了唯一索引),否则插入会失败
  • 日期统一用datetime对象,MongoDB会自动存储为ISODate类型,与手动插入格式一致

内容的提问来源于stack exchange,提问作者amatof

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:15:38