python操作mongodb数据库-修改集合数据

修改集合中一条数据

使用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)

输出:

python操作mongodb数据库-修改集合数据_第1张图片

修改匹配的所有集合中的数据 

如果要修改所有匹配到的记录,可以使用 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)

输出:

python操作mongodb数据库-修改集合数据_第2张图片

打卡第51天,对python大数据感兴趣的朋友欢迎一起讨论、交流,请多指教!

你可能感兴趣的:(python高级,mongodb,数据库,python)