修改集合中一条数据
使用updata_one修改集合中一条数据
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/") # 连接数据库
mydb = myclient["test"] # 指定数据库
mycol = mydb["sites"] # 指定集合
print('修改前输出')
for x in mycol.find():
print(x)
myquery = {"name": "Taobao"} # 修改前数据
newvalues = {"$set": {"name": "淘宝"}} # 修改后数据
mycol.update_one(myquery, newvalues) # 修改集合数据
print('修改后输出')
for x in mycol.find():
print(x)
输出:
修改匹配的所有集合中的数据
如果要修改所有匹配到的记录,可以使用 update_many()
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["test"]
mycol = mydb["sites"]
print('输出修改前集合数据')
for x in mycol.find():
print(x)
myquery = {"name": {"$regex": "^F"}} # 修改条件:name的值为F开头
newvalues = {"$set": {"alexa": "123"}} # 将集合中满足条件的所有alexa的值修改为123
x = mycol.update_many(myquery, newvalues) # 修改
print(x.modified_count, "文档已修改") # 打印修改文档的个数
print('输出修改后集合数据')
for x in mycol.find():
print(x)
输出:
打卡第51天,对python大数据感兴趣的朋友欢迎一起讨论、交流,请多指教!