Python操作MongoDB数据库(二)

共 1517字,需浏览 4分钟

 ·

2019-08-24 10:41


咪哥杂谈

834d1e73d6e91fd88423b1a4be702b30.webp

本篇阅读时间约为 5 分钟。


1

前言


时隔一周,继续来讲完 Python 操作 MongoDB 后续。回顾请看《Python操作MongoDB数据库(一)


2

更新操作


开始之前,先来看下上周所插入的数据,里面后来包含了三条数据。


7831f53caa645b7f9b495d9f64afe7e5.webp


数据库名为 traffic ,集合名为 person ,其中有三条文档数据。


更新操作类似插入操作,也分更新一条数据和更新多条数据。在 python 中,update_one() 是更新文档第一条符合条件的数据,而 update_many() 则是更新多条符合条件的数据。


示例如下:


1. 更新单条数据 update_one


我们将条件设为,name="咪哥杂谈"的数据,更新它所对应数据的 age 值。更新时,key(键)需要设置为 "$set",value(值)设置需要修改的字段以及值。


print('更新前..........')for v in collections.find():    print(v)
query_name = {"name": "咪哥杂谈"}new_value = {"$set": {"age": "100"}}
collections.update_one(query_name, new_value)
print('更新后..........')for v in collections.find(): print(v)


635cfb203ea154a9efd327abeead664d.webp


可以看到,三条数据里有两条数据符合 name='咪哥杂谈',但更新结果只更新了第一条。


2. 更新多条数据 update_many


条件依然设定为 name='咪哥杂谈',将 age 修改为 100000 吧。


query_name = {"name": "咪哥杂谈"}new_value = {"$set": {"age""100000"}}collections.update_many(query_name, new_value) # 更新多条


bc8c423d649799dd119389e09688a3ce.webp


3

删除操作


删除操作具体同理,也是分为多条删除和单条删除,都是类似上述操作,往对应函数传入一个条件参数。然后符合条件的那一条数据就会被删除。


为了删除方便演示,手动在插入几条数据,现数据库中数据如下:


089c81045202669bc4512c808e52d95e.webp


示例如下:


1. 删除单条 delete_one


名字条件为 three 的进行删除。


query_name = {"name": "咪哥杂谈_three"}  collections.delete_one(query_name)  # 删除单条


82049e9d0c48963f95e3fe72d1a4e60a.webp


2. 删除多条 delete_many


名字条件为 '咪哥杂谈' 的进行多条删除。


query_name = {"name": "咪哥杂谈"}collections.delete_many(query_name)  # 删除多条


2f48e3cfe8b187f54bf09f914fd66584.webp


3. 删除所有


现在数据库中还剩 2 条数据,如果直接不设置条件,删除所有,写法如下,只需要传入一个 Python 中的空 set 即可:


collections.delete_many({})  # 删除所有数据


6a079d5ec5aafa79e16888a9ba376709.webp


无打印数据,去图形化界面中看看是否还有数据:


12404ca1dc3c58a9035ef6f90d1f3b13.webp


空了,说明删除全部。


4

总结


本篇,篇幅很短,因为所有相关概念都在上一篇中详细介绍了,所以这篇就剩下了"小尾巴",其实这些操作本质上都很容易书写,需要注意的就是不同操作传入的参数形式不同。


而删除全部的操作要慎重,尤其是在正式环境上,切忌小心。


有啥问题,欢迎留言区留言探讨呐!33156537539616690fda42e4272e8b45.webp




▼往期精彩回顾▼Python操作MongoDB数据库(一)
咪哥的思维认知日记(二)
咪哥的思维认知日记(一)



03c7cc6a7dca4885a3f265e845572457.webp你点的每个在看,我都认真当成了喜欢


浏览 50
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报