如何在Python中操作MongoDB集合?

来源:APP编程网作者:南京SEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何在Python中操作MongoDB集合?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何在Python中操作MongoDB集合?》有用,将其分享出去将是对创作者最好的鼓励。

在Python中操作MongoDB集合需要借助pymongo库实现,通过它可以完成集合的创建、数据增删改查等一系列操作,满足日常业务开发的数据处理需求。

如何在Python中操作MongoDB集合?

环境准备

首先需要安装pymongo库,使用pip命令即可完成安装:

# 安装pymongo库
pip install pymongo

安装完成后,确保本地或者远程的MongoDB服务已经启动,默认端口为27017。

连接MongoDB数据库

操作集合前需要先建立到MongoDB的连接,然后选择对应的数据库,如果数据库不存在,MongoDB会在第一次插入数据时自动创建。

from pymongo import MongoClient

# 创建客户端连接,连接本地MongoDB服务
client = MongoClient('localhost', 27017)
# 选择数据库,这里选择test_db数据库
db = client['test_db']

集合的基本操作

创建集合

MongoDB中的集合类似关系型数据库中的表,创建集合有两种方式,一种是显式创建,一种是插入数据时自动创建。

# 显式创建集合,集合名为user_info
db.create_collection('user_info')

# 插入数据时自动创建集合,如果user_info集合不存在会自动创建
db.user_info.insert_one({'name': '张三', 'age': 20})

查看所有集合

可以通过list_collection_names方法查看当前数据库下的所有集合:

# 获取当前数据库所有集合名称
collection_list = db.list_collection_names()
print(collection_list)

删除集合

如果不再需要某个集合,可以使用drop方法删除:

# 删除user_info集合
db.user_info.drop()

集合数据操作

插入数据

插入数据分为插入单条数据和插入多条数据,分别对应insert_oneinsert_many方法。

# 插入单条数据
single_data = {'name': '李四', 'age': 22, 'city': '北京'}
result = db.user_info.insert_one(single_data)
# 打印插入数据的_id
print(result.inserted_id)

# 插入多条数据
multi_data = [
    {'name': '王五', 'age': 25, 'city': '上海'},
    {'name': '赵六', 'age': 28, 'city': '广州'}
]
result = db.user_info.insert_many(multi_data)
# 打印所有插入数据的_id
print(result.inserted_ids)

查询数据

查询数据可以使用find_one查询单条,find查询多条,还可以添加查询条件筛选数据。

# 查询单条数据,查询name为李四的记录
single_result = db.user_info.find_one({'name': '李四'})
print(single_result)

# 查询多条数据,查询age大于23的所有记录
multi_result = db.user_info.find({'age': {'$gt': 23}})
for item in multi_result:
    print(item)

# 查询所有数据
all_data = db.user_info.find()
for item in all_data:
    print(item)

更新数据

更新数据分为更新单条和更新多条,对应update_oneupdate_many方法,更新操作需要使用$set操作符指定要更新的字段。

# 更新单条数据,将name为李四的记录的age更新为23
db.user_info.update_one({'name': '李四'}, {'$set': {'age': 23}})

# 更新多条数据,将所有age小于25的记录的city更新为深圳
db.user_info.update_many({'age': {'$lt': 25}}, {'$set': {'city': '深圳'}})

删除数据

删除数据分为删除单条和删除多条,对应delete_onedelete_many方法。

# 删除单条数据,删除name为王五的记录
db.user_info.delete_one({'name': '王五'})

# 删除多条数据,删除age大于26的所有记录
db.user_info.delete_many({'age': {'$gt': 26}})

注意事项

  • 操作完成后建议关闭数据库连接,释放资源:client.close()
  • 查询条件中的比较操作符如$gt$lt等需要放在字段值的位置,不能放在字段名位置
  • 如果插入的数据中包含_id字段,需要确保_id的唯一性,否则会插入失败
  • 生产环境中连接MongoDB建议添加用户名和密码认证,避免无权限访问的安全问题

PythonMongoDB集合操作pymongo修改时间:2026-07-14 05:27:24

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。