Wii Pointer #1 Tilt Normal
본문 바로가기
📁 𝐝𝐚𝐭𝐚𝐁𝐚𝐬𝐞/MongoDB

[MongoDB] pymongo 라이브러리로 Mongo DB 조작하는 방법

by 개발자_후니 2022. 12. 29.
728x90
반응형

 

파이썬에 있는 pymongo 라이브러리로 mongoDB조작하는 방법

 

파이썬에서 MongoDB 컬렉션에 데이터 넣는법

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta


db.users.insert_one({'name' : 'bobby', 'age' : 27})
doc = {
    'name' : 'jayden',
    'age' : 27
}

db.ju.insert_one(doc)

 

이렇게 길었던 식을

 

db.users.insert_one({'name' : 'bobby', 'age' : 27})

 

이런 딕셔너리로 데이터를 넣을 수 있다.

 

마찬가지로 해당 코드를

 

여러개로 복붙해서 실행해도 여러 데이터가 들어간다.

 

데이터를 넣었다.

 

그다음

 

MongoDB에 있는 데이터 컬렉션을 파이썬으로 가져오는 방법

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

all_users = list(db.users.find({},{'_id':False}))

for user in all_users:
    print(user)

 

이 코드다.

 

,{'_id':False}

 

이 코드는 앞에붙는 걸리적 거리는 애들 지워주는거다.

 

실행하면

 

 

해당 사진과 같은 데이터를 DB에서 가져왔다.

 

여기서 바비에 대한 데이터만 가져오고 싶다?

 

특정 데이터 하나만 가져와 보는 방법

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

user = db.users.find_one({'name':'bobby'})
print(user)

 

이 코드를 작성하면 바비에 대한 데이터만 가져올 수 있다.

 

 

지저분한거 아까처럼 지워주자.

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)

 

 

 

깔끔하게 나왔다.

 

그렇다면 그 특정 데이터의 특정 데이터만 가져오고 싶다?

 

특정 데이터의 특정 데이터가져오는 방법

 

말 그대로다 특정 데이터 '바비'라는 데이터의 나이만 가져와보자

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user['age'])

 

출력해주면

 

 

데이터를 가져왔다.

 

MongoDB에 업로드 되어 있는 DB를 파이썬으로 수정하는 방법

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

 

해당 코드로 수정 가능하다

 

코드를 풀어보자면

 

bobby라는 이름을 가지고 있는 데이터를 찾아서

 

나이를 19로 바꿔줘라 라는 뜻이다.

 

 

실행하고 REFRESH 버튼 눌러주니

 

데이터가 27에서 19로 변경 되었다.

 

MongoDB에 업로드 되어 있는 DB를 파이썬으로 삭제하는 방법

 

잘 안쓴단다. 

 

그래도 한번 알아보자.

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:0000@cluster0.5fhqjdx.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

db.users.delete_one({'name':'bobby'})

 

이렇게 코드를 넣고 실행해봐라

 

 

없어졌다.

 

pymongo 코드요약

 

# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})

 

 

728x90
반응형