找回密码
 立即注册

QQ登录

只需一步,快速开始

Python与MongoDB交互的代码实现

2024-11-4 22:22| 发布者: 2ae29| 查看: 191| 评论: 0

摘要: 目录安装pymongoPython连接Mongodb向数据库中添加数据查询数据更新修改数据删除数据索引 聚合框架 事务 关闭连接注意事项Python与MongoDB的交互通常通过pymongo库来实现。pymongo是一个官方的Python
目录

Python与MongoDB的交互通常通过pymongo库来实现。pymongo是一个官方的Python驱动步伐,用于与MongoDB数据库进行交互。以下是一个简单的示例,展示了如何使用pymongo来连接到MongoDB数据库,实行一些基本的数据库操作(如插入、查询、更新和删除文档)。

安装pymongo

[code]pip install pymongo[/code]

Python连接Mongodb

[code]from pymongo import MongoClient # 创建一个MongoClient对象,该对象用于连接Mongodb数据库服务器 client = MongoClient('mongodb://admin:password@localhost:27017/')[/code]

向数据库中添加数据

[code]from mongo_db import client # client.school.teacher.insert_one({"name": "露娜"}) # client.school.teacher.insert_many([{"name":"兰陵王"}, {"name": "百里玄策"}]) client.school.teacher.find({})[/code]

查询数据

[code]from mongo_db import client try: teachers = client.school.teacher.find() # print(teachers) for one in teachers: print(one["_id"],one["name"]) # 有条件查询 teacher = client.school.teacher.find_one({"name":"兰陵王"}) print(teacher["_id"],teacher["name"]) except Exception as e: print(e)[/code]

更新修改数据

[code]from mongo_db import client try: # 全表修改,表中无此列时会增长此列 # client.school.teacher.update_many({}, {'$set': {"role":["班主任"]}}) # client.school.teacher.update_one({"name": "露娜"},{"$set":{"sex": "女"}}) # push追加(列表) client.school.teacher.update_one({"name": "露娜"},{"$push":{"role": "年级王主任"}}) except Exception as e: print(e)[/code]

删除数据

[code]from mongo_db import client try: # 有条件查询 # client.school.teacher.delete_one({"name": "露娜"}) # 删除多条数据 client.school.teacher.delete_many({}) except Exception as e: print(e)[/code]

索引 

创建索引以优化查询性能。

[code]collection.create_index([("name", pymongo.ASCENDING)])[/code]

聚合框架 

使用聚合框架进行复杂的数据聚合操作

[code]pipeline = [ {"$match": {"age": {"$gt": 25}}}, {"$group": {"_id": "$city", "count": {"$sum": 1}}} ] results = collection.aggregate(pipeline) for result in results: print(result)[/code]

事务 

从MongoDB 4.0开始,支持多文档事务,确保数据的同等性和完备性。

[code]with client.start_session() as session: with session.start_transaction(): collection.update_one({"name": "John"}, {"$set": {"age": 32}}, session=session) collection.update_one({"name": "Alice"}, {"$set": {"age": 26}}, session=session) session.commit_transaction()[/code]

关闭连接

[code]client.close()[/code]

注意事项

在使用pymongo进行MongoDB操作时,需要确保MongoDB服务已经启动并且网络连接正常。

在进行数据插入、更新和删除操作时,需要注意数据的完备性和同等性。

MongoDB的集合是动态创建的,即当向一个不存在的集合插入数据时,MongoDB会主动创建该集合。

到此这篇关于Python与MongoDB交互的代码实现的文章就介绍到这了,更多相关Python与MongoDB交互内容请搜刮脚本之家从前的文章或继承浏览下面的相关文章渴望各人以后多多支持脚本之家!


来源:https://www.jb51.net/python/328421vme.htm
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

最新评论

关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 19:27 , Processed in 0.031464 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部