wisePocket

[Python][Database] DB에 저장된 데이터를 수정하기(Update) update_one 본문

Python&Flask Tutorials, AWS EB/3rd WEEK Python, Crawling, MongoDB

[Python][Database] DB에 저장된 데이터를 수정하기(Update) update_one

ohnyong 2023. 7. 6. 22:21

requests, beautifulsoup 라이브러리를 활용하여 웹 페이지의 원하는 정보를 크롤링하고 DB에 insert, read하는 과정까지 진행했다.

이번에는,

 

웹 크롤링 한 데이터를 Insert한 DB 자료를

  • DB에서 원하는 정보를 수정(편집)하는 == Update == Update_one

를 진행해보려 한다.

 

1. Update == update_one

DB에 저장된 데이터중에

"영화 제목 '부당거래'의 연령 제한'18세 이상 관람가'로 수정하자"

  • 영화 제목 = title이라는 key
  • 부당거래 = title의 value값
  • 연령제한 = 'age'라는 key의 value값을 '18세 ... '로 수정

1개 바꾸기 update_one 코드는 다음과 같다.

#dbprac3_1_movie_insert 에서 실행한 웹크롤링+DB넣기로 생성된 DB의 데이터들을
#가져오고
#수정하자

# Python과 DB를 연결하는 코드(공통)
from pymongo import MongoClient
import certifi
ca = certifi.where()
client = MongoClient('mongodb+srv://ohnyong:test@cluster0.lu7mz8j.mongodb.net/?retryWrites=true&w=majority',tlsCAFile=ca)
db = client.dbsparta

#[2] 수정하자 == update를 사용하자
# "영화 제목 '부당거래'의
# 'age'의 value값을 '18세 이상 관람가'로
# 바꾸자 ($set)"

# UPDATE
# 바꾸기 - 예시
db.movies2.update_one({'title':'부당거래'},{'$set':{'age':'18세 이상 관람가'}})

 

기존 '부당거래' 영화의 연령제한인 'age' key값은 '청소년관람불가'라는 value를 가졌지만

실행 시 

'18세 이상 관람가'라는 value로 변경(update)되었다.


 

해당 스터디는 아래 깃을 통해 업데이트 되고 있습니다.

https://github.com/yzpocket/Sparta99training

 

GitHub - yzpocket/Sparta99training

Contribute to yzpocket/Sparta99training development by creating an account on GitHub.

github.com