1. 程式人生 > >MongoDB pymongo模塊 更新數據

MongoDB pymongo模塊 更新數據

dmi cti 模塊 ocl mon update 新的 imp obj

現在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

 

MongoDB pymongo模塊 更新數據