Python使用PyMongo与MongoDB基础交互指南
本文详细介绍Python中如何使用PyMongo库与MongoDB数据库进行基本交互。内容涵盖模块安装、模块导入、数据库连接、集合选择以及核心的CRUD(增删改查)操作方法,包括find、insert、update和delete系列函数的使用示例与注意事项。
PyMongo基础交互概述
本文介绍了在Python中利用PyMongo库与MongoDB数据库进行基础交互的完整流程,旨在为开发者提供实用的参考示例。
- PyMongo的使用流程如下:
- 模块安装
- 模块导入
- 连接MongoDB服务
- 获取或切换数据库
- 选择目标集合
- 执行CRUD操作
环境准备与连接配置
首发时间:2018-03-18 20:11
- 安装模块:
pip3 pymongo
- 导入模块:
import pymongo
- 连接mongod服务:
conn=pymongo.MongoClient(host="localhost",port=27017)
- 获取或切换数据库:
# db=conn.School #获取School数据库 db=conn['School'] #获取School数据库
- 选择集合:
# collection=db.teacher#选择teacher集合 collection=db['teacher']#选择teacher集合
- 执行CRUD操作:【PyMongo的方法与MongoDB命令基本一致,功能相似的功能名称也类似,参数设置可参考MongoDB命令及源码说明】
- 查看文档:
- find()方法返回一个Cursor对象,必须通过迭代该对象才能获取具体的查询结果。
- find_one()方法直接返回查找到的单个文档结果。
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] rel=collection.find() print([r for r in rel]) rel=collection.find({"name":"Alex"}) print([r for r in rel]) # rel=collection.find({"age":{"$gt":20}}) rel=collection.find({"$or":[{"name":"Amy"},{"name":"Alex"}]}) print([r for r in rel]) rel=collection.find_one({"name":"jack"}) print(rel) print(rel['name'])#单个文档情况下可用来取出指定值 conn.close()
- 查看文档:
- 插入文档:
- insert()用于插入单条文档,若需插入多条文档可传入列表,但该方法已不再推荐。
- insert_one()专门用于插入单条文档,是推荐的使用方式。
- insert_many():用于插入多条文档
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] collection.insert({"name":"Job","course":"career"}) # col.insert(document)#**DEPRECATED** - Use :meth:`insert_one` or :meth:`insert_many` instead. # insert是不推荐用了,建议使用insert_one,insert_many collection.insert_one({"name":"Job1","course":"career1"}) t1={"name":"Job2","course":"career2"} t2={"name":"Job3","course":"career3" } collection.insert_many([t1,t2]) conn.close()
- 修改文档:
- update()用于修改单条或多条文档,具体行为由multi选项决定,但该方法已不推荐使用,建议改用update_one()或update_many()。
- update_one()用于精确修改符合条件的第一条文档。
- update_many()用于修改所有符合条件的文档。
-
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # rel=collection.update({"name":"Job1"},{ "$set":{"name":"Bob"}})#不推荐使用 # collection.update_one({"name":"Job"},{ "$set":{"name":"Bob"}}) collection.update_many({"name":"Job1"},{ "$set":{"name":"Bob" }}) conn.close()
- 删除文档:
- remove()用于删除指定文档,但该方法已不再推荐,建议使用delete_one()和delete_many()。
- delete_one()用于删除符合条件的一条文档。
- delete_many()用于删除所有符合条件的文档。
-
import pymongo conn=pymongo.MongoClient(host="localhost",port=27017) db=conn['School'] collection=db['teacher'] # collection.remove({"name":"Bob"}) # collection.delete_one({"name":"Bob2"}) collection.delete_many({"name":"Job3" }) conn.close()
数据增删改查操作详解
如需了解更多详细信息,可参考PyMongo官方文档:http://api.mongodb.com/python/current/api/pymongo/

参考资源与总结
更多关于Python技术内容的读者可查看本站专题:《Python常见数据库操作技巧汇总》、《Python数学运算技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。
希望本文所述内容能对大家的Python程序设计工作有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









