Pymongo更新數據

現在chat集合里有3條數據

import pymongo    mongo_client = pymongo.MongoClient(      host='192.168.0.112',      port=27017,      username="admin",      password="123456"  )  mongo_db = mongo_client["db1"]  # 更新數據    res = mongo_db.chat.find()  for i in res:      print(i)  {'_id': ObjectId('5cb0ba3abd99392b1427c25e')}  {'_id': ObjectId('5cb0bbf9bd993914d8b5d82c'), 'name': 'jack', 'age': 13}  {'_id': ObjectId('5cb0bbf9bd993914d8b5d82d'), 'name': 'mike', 'age': 33}

更新

update_one()

傳入前麵條件,後面關鍵詞

modified_count :拿到更新的條數

import pymongo    mongo_client = pymongo.MongoClient(      host='192.168.0.112',      port=27017,      username="admin",      password="123456"  )    mongo_db = mongo_client["db1"]  # 更新數據      res = mongo_db.chat.update_one({"age":13},{"$set":{"age":34}})  # modified_count 返回更新的條數  print(res,res.modified_count)    # 返回對象  # <pymongo.results.UpdateResult object at 0x0000000002EDBF08>  # 1代表更新一條數據  # 1

更新成功

import pymongo    mongo_client = pymongo.MongoClient(      host='192.168.0.112',      port=27017,      username="admin",      password="123456"  )    mongo_db = mongo_client["db1"]  # 更新數據      res = mongo_db.chat.find_one({"age":34})  print(res)    # {'_id': ObjectId('5cb0bbf9bd993914d8b5d82c'), 'name': 'jack', 'age': 34}

update_many():

更新多條數據

把age>=0的數據 age都改成888

import pymongo    mongo_client = pymongo.MongoClient(      host='192.168.0.112',      port=27017,      username="admin",      password="123456"  )    mongo_db = mongo_client["db1"]  # 更新數據      res = mongo_db.chat.update_many(      {"age":{"$gte":0}},{"$set":{"age":888}}  )  print(res,res.modified_count)    # 返回對象  # <pymongo.results.UpdateResult object at 0x0000000002EDBF08>  # 2代表更新2條數據  # 2