pymongo,一个灵活的 Python 库!

张开发
2026/4/18 6:59:06 15 分钟阅读

分享文章

pymongo,一个灵活的 Python 库!
【pymongo一个灵活的 Python 库】在日常数字化生活中我们产生的用户信息、聊天记录、文章内容、设备数据、订单日志等信息大多具有结构不固定、字段灵活、嵌套层级多的特点传统关系型数据库难以高效存储和查询。而 MongoDB 作为主流的非关系型文档数据库凭借灵活的 JSON 格式存储成为处理这类数据的首选想要用 Python 轻松操作 MongoDBPyMongo就是最官方、最稳定、最灵活的驱动库。它是 Python 连接、操作 MongoDB 的核心工具支持增删改查、索引创建、聚合查询、数据批量处理等全功能无需复杂配置用 Python 原生语法就能完成数据库操作无论是个人项目存储数据、职场开发业务系统还是日常数据管理都能快速落地是 Python 处理非关系型数据的必备利器。一、库的简介实际生活中的核心作用PyMongo 是 MongoDB 官方推出的 Python 驱动库核心作用是让 Python 程序与 MongoDB 数据库无缝通信实现数据的持久化存储与高效管理。在实际生活中它的应用无处不在存储社交软件的用户动态、评论数据管理笔记软件的文章、附件信息保存物联网设备的实时监测数据记录电商平台的用户行为日志存储小程序的灵活配置信息。相比于传统数据库MongoDB 无需固定表结构PyMongo 能以最简单的方式完成数据读写适配多变的业务需求让 Python 开发者无需学习复杂的数据库语法就能高效完成数据存储工作是灵活化数据管理的最佳选择。二、安装库PyMongo 仅需通过 pip 命令即可快速安装国内镜像安装速度更快推荐使用bash运行# 基础安装 pip install pymongo # 国内清华镜像加速安装 pip install pymongo -i https://pypi.tuna.tsinghua.edu.cn/simple安装前确保本地或远程已部署 MongoDB 服务并开启访问权限这是 PyMongo 运行的前提。三、基本用法分 4 个核心步骤步骤 1连接 MongoDB 数据库新建 Python 文件导入 PyMongo创建客户端连接数据库服务python运行# 导入PyMongo核心类 from pymongo import MongoClient # 本地MongoDB默认连接无密码 client MongoClient(mongodb://localhost:27017/)步骤 2指定数据库与集合MongoDB 以数据库db和集合collection管理数据集合等同于关系型数据库的表python运行# 指定数据库不存在会自动创建 db client[test_database] # 指定集合不存在会自动创建 collection db[user_collection]步骤 3执行数据增删改查操作使用 PyMongo 内置函数完成最常用的数据操作python运行# 1. 插入单条数据 user {name: 小明, age: 22, city: 北京, hobby: [读书, 编程]} insert_result collection.insert_one(user) print(插入数据ID, insert_result.inserted_id) # 2. 查询数据 find_result collection.find_one({name: 小明}) print(查询结果, find_result)步骤 4关闭数据库连接数据操作完成后关闭客户端连接释放资源python运行# 关闭连接 client.close()四、高级用法PyMongo 提供丰富的高级功能适配复杂的数据处理需求批量操作支持批量插入、批量更新、批量删除提升数据处理效率条件查询支持大于、小于、范围、模糊匹配等高级筛选索引管理创建索引优化查询速度支持唯一索引、复合索引聚合查询实现分组统计、求和、平均值等数据分析操作数据排序与分页支持排序展示、分页查询适配大数据展示场景。高级用法示例批量插入 条件查询python运行from pymongo import MongoClient client MongoClient(mongodb://localhost:27017/) collection client[test_database][user_collection] # 批量插入数据 users [ {name: 小红, age: 20, city: 上海}, {name: 小刚, age: 25, city: 北京}, {name: 小丽, age: 23, city: 深圳} ] collection.insert_many(users) # 条件查询年龄大于22的用户 results collection.find({age: {$gt: 22}}) for res in results: print(res) client.close()五、实际应用场景PyMongo 适配日常生活与开发的高频数据存储场景实用性极强个人数据管理存储个人笔记、观影记录、账单信息、待办事项爬虫数据存储保存爬虫获取的文章、商品、新闻等非结构化数据小程序 / APP 开发存储用户信息、配置数据、动态内容适配灵活字段物联网开发记录传感器、设备的实时数据支持高频写入数据分析存储日志数据、用户行为数据用于后续统计分析。深度案例代码个人账单管理系统完整可运行python运行from pymongo import MongoClient from datetime import datetime # 连接数据库 client MongoClient(mongodb://localhost:27017/) db client[bill_system] collection db[bills] # 添加账单 def add_bill(name, money, category, remark): bill { name: name, money: money, category: category, remark: remark, time: datetime.now().strftime(%Y-%m-%d %H:%M:%S) } collection.insert_one(bill) print(账单添加成功) # 查询所有账单 def get_all_bills(): bills list(collection.find().sort(time, -1)) for bill in bills: print(f{bill[time]} | {bill[name]} | {bill[category]} | {bill[money]}元) # 按分类统计消费 def count_by_category(): pipeline [ {$group: {_id: $category, total: {$sum: $money}}} ] result list(collection.aggregate(pipeline)) print(分类消费统计, result) # 测试功能 if __name__ __main__: add_bill(午餐, 25, 餐饮, 公司楼下就餐) add_bill(打车, 15, 交通) get_all_bills() count_by_category() client.close()PyMongo 作为 Python 操作 MongoDB 的标准库凭借简洁语法、稳定性能和高度灵活性成为处理非结构化数据的首选工具。它降低了非关系型数据库的使用门槛让开发者可以专注于业务逻辑快速完成数据存储与管理无论是个人小项目还是企业级应用都能完美适配。在数据类型越来越丰富的今天掌握 PyMongo能让你的 Python 数据处理能力更上一层楼。相信通过这篇文章你已经掌握了 PyMongo 的核心用法和实用场景它能帮你轻松解决各类灵活数据的存储问题。你平时最想用 PyMongo 存储什么类型的数据呢是个人账单、爬虫数据还是小程序用户信息不妨动手实践一下感受非关系型数据库带来的便捷与高效。

更多文章