1. pymongo 설치
pymongo 라이브러리의 역할 예를 들어, MS Excel를 파이썬으로 조작하려면, 특별한 라이브러리가 필요하지 않을까?
마찬가지로, mongoDB 라는 프로그램을 파이썬으로 조작하려면, 특별한 라이브러리, pymongo가 필요하다.
pumongo 기본 코드
from pymongo import MongoClient
client = MongoClient('여기에 URL 입력')
db = client.dbsparta
데이터 넣기
doc = {
'name':'bob',
'age':27
}
db.users.insert_one(doc)
2. pymongo로 DB조작하기
1. mongoDB와 연결하기
#mongoDB와 연결하는 pymongo 명령어
from pymongo import MongoClient
import certifi
ca = certifi.where()
client = MongoClient('mongodb+srv://test:sparta@cluster0.euhwlug.mongodb.net/?retryWrites=true&w=majority', tlsCAFile=ca)
db = client.dbsparta
#test와 sparta는 개인이 mongoDB에 설정하는 영역이다.
2. 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'})
저장 예제)
# '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})
모든 결과값 보기 예제)
# 모든 데이터 뽑아보기
all_users = list(db.users.find({},{'_id':False}))
#이때 users는 Collections -> dbsparta -> users의 users이다.
#{'_id':False} 부분은 {'_id': ObjectId('6361e7eaf79a605865c058db'), 'name': 'bobby', 'age': 19}에서 {'_id': ObjectId('6361e7eaf79a605865c058db')을 빼고 출력하기 위함이다.
print(all_users[0]) # 0번째 결과값을 보기
print(all_users[0]['name']) # 0번째 결과값의 'name'을 보기
for user in all_users: # 반복문을 돌며 모든 결과값을 보기
print(user)
특정 결과값 보기 예제)
#이때 users는 Collections -> dbsparta -> users의 users이다.
user = db.users.find_one({'name':'bobby'})
print(user)
수정하기 예제)
#이때 users는 Collections -> dbsparta -> users의 users이다.
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
#"users라는 곳에 접속해서 업데이트를 하나 한다. name이 booby인 유저의 나이를 19로 바꿔준다."라는 명령이다.
user = db.users.find_one({'name':'bobby'})
print(user)
삭제하기 예제)
#이때 users는 Collections -> dbsparta -> users의 users이다.
db.users.delete_one({'name':'bobby'})
user = db.users.find_one({'name':'bobby'})
print(user)
'내일배움캠프[4기_Reac트랙] > 웹개발종합반(내일배움단)' 카테고리의 다른 글
4주차(6~9)-화성땅 공동구매(GET, POST) (0) | 2022.11.03 |
---|---|
4주차(1~5)-Flask 사용법 (0) | 2022.11.02 |
3주차(14~16)-mongoDB에 크롤링연습 (0) | 2022.11.02 |
3주차(8~9)-웹스크래핑(크롤링) (0) | 2022.11.01 |
3주차(7)-패키지 사용해보기 (0) | 2022.11.01 |