• 회원가입
  • 로그인
  • 구글아이디로 로그인

[mongodb] Python - MongoDB Update (데이터 수정)

7514  

목차

  1. update_one() 메서드 - 1개 document 수정
  2. update_many() 메서드 - 다수 document 수정

 

update_one() 메서드 - 1개 document 수정

 

1개 문서 수정하려면 update_one() 메서드 사용.

 


[구문]

 

update_one(query, newvalues)

 


[매개변수]

 

query

필수. 수정할 문서를 정의하는 쿼리 객체.

※ 형식: {"field_name": "current_value"}

참고 : 쿼리에서 둘 이상의 문서를 찾으면 첫 번째 항목만 수정됨.

 

newvalues

필수. 문서의 새 값을 정의하는 객체.

※ 형식: {"$set" : {"field_name": "new_value"}}

 


[예제] mb_level 값이 4인 첫 번째 문서만 5로 변경.

 

import pymongo


myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["hz"]

mycol = mydb["hz_member"]

myquery = { "mb_level": "4" }

newvalues = { "$set": { "mb_level": "5" } }

mycol.update_one(myquery, newvalues)

for x in mycol.find():

  print(x)

 

 

update_many() 메서드 - 다수 document 수정

 

둘 이상의 문서를 수정하려면 update_many() 메서드 사용.

 


[구문]

 

update_many(query, newvalues)

 


[매개변수]

 

query

필수. 수정할 문서를 정의하는 쿼리 객체.

※ 정규표현식 등 사용해 여려 문서 선택.

※ 형식: {"field_name" : {"$regex": "정규표현식"}}

 

newvalues

필수. 문서의 새 값을 정의하는 객체.

※ 형식: {"$set" : {"field_name": "new_value"}}

 


[예제] mb_level 값이 4인 모든 문서를 5로 변경.

 

import pymongo


myclient = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = myclient["hz"]

mycol = mydb["hz_member"]

myquery = { "mb_level": { "$regex": "^4" } }

newvalues = { "$set": { "mb_level": "5" } }

x = mycol.update_many(myquery, newvalues)

print(x.modified_count, "documents updated.")

 



분류 제목
mongodb Python - MongoDB Limit (데이터 출력개수)
module Python - random 모듈 메서드 종류
module Python - random.seed() 메서드 - 난수 생성기 초기화 (= seed메서드 = 시드)
module Python - random.getstate() 메서드 - 난수 생성기 현재 상태 반환. (= getstat…
module Python - random.setstate() 메서드 - 난수 생성기 상태 복원. (= setstate메서…
module Python - random.getrandbits() 메서드 ★ - 지정 bit 크기의 정수 반환. (= g…
module Python - random.randrange() 메서드 ★★ - 지정 범위 안에서 정수형 난수 반환. (=…
module Python - random.randint() 메서드 ★★ - 지정 범위 안 int형 난수 생성. (= ra…
module Python - random.choice() 메서드 ★★ - 요소 랜덤 반환. (= choice메서드 = 초…
module Python - random.choices() 메서드 - 가중치 반영해 랜덤 요소 반환. (= choices…
module Python - random.shuffle() 메서드 ★★ - 요소 순서 뒤섞기. (= 순서 랜덤 = shu…
module Python - random.sample() 메서드 ★ - 일부 요소 랜덤 선택. (= sample메서드 =…
module Python - random.random() 메서드 ★ - 0 ~ 1 사이 부동소수 랜덤 반환. (= ran…
module Python - random.uniform() 메서드 ★ - 지정 범위 안 랜덤 부동소수 반환. (= uni…
module Python - random.triangular() 메서드 - 지정 범위 안 가중치 반영 랜덤 부동소수 반환…
module Python - random.betavariate() 메서드 △ - 베타분포 (통계용) 기반 0~1 사이 랜…
module Python - random.expovariate() 메서드 △ - 지수분포 (통계용) 기반 랜덤 부동소수 …
module Python - random.gammavariate() 메서드 △ - 감마분포 (통계용) 기반 랜덤 부동소수…
module Python - random.gauss() 메서드 △ - 가우스분포 (확률이론용) 기반 랜덤 부동소수 반환.
module Python - random.lognormvariate() 메서드 △ - 로그정규분포 (확률이론용) 기반 랜…
4/24
목록
찾아주셔서 감사합니다. Since 2012