티스토리 뷰
pymongo 라이브러리의 역할
예를 들어, MS Excel를 파이썬으로 조작하려면,
특별한 라이브러리가 필요하지 않겠어요?
마찬가지로, mongoDB 라는 프로그램을 조작하려면,
특별한 라이브러리, pymongo가 필요하답니다!
패키지 설치하기
pymongo
[코드스니펫] pymongo 기본 코드
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# 코딩 시작
DB연결하기 & 데이터 넣기
[코드스니펫] pymongo(insert)
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
from pymongo import MongoClient # pymongo를 임포트 하기(패키지 인스톨 먼저 해야겠죠?)
client = MongoClient('localhost', 27017) # mongoDB는 27017 포트로 돌아갑니다.
db = client.dbsparta # 'dbsparta'라는 이름의 db를 만듭니다.
# MongoDB에 insert 하기
# 'users'라는 collection에 {'name':'bobby','age':21}를 넣습니다.
db.users.insert_one({'name':'bobby','age':21})
db.users.insert_one({'name':'kay','age':27})
db.users.insert_one({'name':'john','age':30})
모든 결과 값을 보기
[코드스니펫] pymongo(find)
from pymongo import MongoClient # pymongo를 임포트 하기(패키지 인스톨 먼저 해야겠죠?)
client = MongoClient('localhost', 27017) # mongoDB는 27017 포트로 돌아갑니다.
db = client.dbsparta # 'dbsparta'라는 이름의 db를 만듭니다.
# MongoDB에서 데이터 모두 보기
all_users = list(db.users.find({}))
# 참고) MongoDB에서 특정 조건의 데이터 모두 보기
same_ages = list(db.users.find({'age':21},{'_id':False}))
print(all_users[0]) # 0번째 결과값을 보기
print(all_users[0]['name']) # 0번째 결과값의 'name'을 보기
for user in all_users: # 반복문을 돌며 모든 결과값을 보기
print(user)
특정 결과 값을 뽑아 보기
[코드스니펫] pymongo(find_one)
user = db.users.find_one({'name':'bobby'})
print(user)
수정하기
[코드스니펫] pymongo(update_one)
# 생김새
db.people.update_many(찾을조건,{ '$set': 어떻게바꿀지 })
# 예시 - 오타가 많으니 이 줄을 복사해서 씁시다!
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
user = db.users.find_one({'name':'bobby'})
print(user)
삭제하기 (거의 안 씀)
[코드스니펫] pymongo(delete_one)
db.users.delete_one({'name':'bobby'})
user = db.users.find_one({'name':'bobby'})
print(user)
pymongo 사용법. 코드요약
[코드스니펫] pymongo 코드 요약
우리는 딱 네 가지 기능만 알면 됩니다. 저장하고, 찾고, 바꾸고, 지우고!
이 기능들을 어떻게 사용하는지 요약하면 다음과 같습니다.
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# 지우기 - 예시
db.users.delete_one({'name':'bobby'})
'항해' 카테고리의 다른 글
3주차_14(웹스크래핑 결과 저장하기) (0) | 2021.12.11 |
---|---|
3주차_13(pymongo로 db조작하기-수업) (0) | 2021.12.11 |
3주차_11(DB개괄) (0) | 2021.12.10 |
3주차_10(DB설치 확인) (0) | 2021.12.10 |
3주차_9(웹스크래핑(크롤링) 연습) (0) | 2021.12.10 |