Python 操作 MongoDB 数据库!

本文介绍了如何使用Python的pymongo库连接和操作MongoDB数据库,包括插入单个和多个文档、删除、修改及查询操作。通过示例代码详细展示了增删改查的基本用法,并提供了分页查询的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

35e367816af882e55d8eb75ab3714f56.gif

作者 |黄伟呢

来源 |数据分析与统计学之美

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

先来看看MySQL与MongoDB 概念区别:

c13cb272378490379d2e84e9fdf493da.png

今天的重点,就是要为大家讲述如何使用Python操作MongoDB数据库。

在正式进行增删改查之前,我们需要先获取一个叫做集合的东西,它就像是mysql数据库中的表。

# 安装该库后,这里才能导入
from pymongo import MongoClient
# 连接服务器
conn = MongoClient("localhost",27017)
# 连接数据库
db = conn.mydb
# 获取集合
collection = db.student

... 中间进行一系列操作:增删改查 ...

# 断开连接【最后一步】
conn.close()

注意:Python 中写MongoDB代码和在MongoDB客户端写的代码格式一样。

区别在于:在Python中写MongoDB代码,所有“键”都需要添加引号。

插入文档
① 一次性插入一个文档
collection.insert_one({"name": "abc","age": 19,"gender": 1,"adress": "北京","isDelete": 0})
② 一次性插入多个文档
collection.insert_many([{"name": "abc1","age": 19,"gender": 1,"adress": "北京
","isDelete": 0},{"name": "abc2","age": 19,"gender": 1,"adress": "北京","isDelete":0}])
删除文档
# 删除某条文档
collection.remove({"name": "lilei"})

# 不写条件,代表全部删除。不要轻易用
collection.remove()
修改文档
# 修改文档
collection.update({"name": "lilei"},{"$set": {"age": 25}})
查询文档

这里一共为大家列出了7条。

① 查询部分文档
res = collection.find({"age": {"$gte": 19}})
for row in res:
   print(row)
② 查询所有文档
res = collection.find()
for row in res:
   print(row)
③ 统计查询
res = collection.find().count()
print(res)
④ 根据 id 查询(这需要引入第三方库)
from bson.objectid import ObjectId
res = collection.find({"_id":ObjectId("5cc506289e1d88c95465488e")})
print(res[0])
⑤ 升序排序
res = collection.find().sort("age")
for row in res:
   print(row)
⑥ 降序排序(也需要引入第三方库)
import pymongo
res = collection.find().sort("age",pymongo.DESCENDING)
for row in res:
   print(row)
⑦ 分页查询
res = collection.find().limit(3).skip(5)
for row in res:
   print(row)

78c43ddaab6fb959536dc28ec8977d59.gif

b6d91ef5b05d0f3d7454bf8f5866b407.png

资讯

观点:AI与自动化是矛盾的

资讯

阿里云投入 20 亿发力操作系统

资讯

阿里发布云芯片倚天710

技术

ST-GCN 实现人体姿态行为分类

403a4db83fb2422042ea75e15b0a4f93.png

分享

aa9a950b0b5353fd6431b3090b9eac72.png

点收藏

873055d0a68605e29378b26a6fafac98.png

点点赞

ed2e9c39d6f02ef8ce5950a6b03d2ae3.png

点在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值