pymongo package 설치
package 설치는: https://velog.io/@yh271/webbase17
pymongo 기본 코드
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# 코딩 시작
#pymongo를 쓰겠습니다
from pymongo import MongoClient
#내 컴퓨터에서 지금 돌아가고 있는 mongoDB에 접속할 겁니다
client = MongoClient('localhost', 27017)
#dbsparta라고 하는 DB 이름으로 접속할 겁니다
db = client.dbsparta
# insert / find / update / delete
#MongoDB는 딕셔너리가 쌓이는 것
#doc 이라는 딕셔너리 생성
doc = {'name':'bobby','age':21}
#users라는 콜렉션에 넣는다.
#콜렉션: 비슷한 데이터끼리 모아놓은 것
db.users.insert_one(doc)
john이 추가됨
4. find
5. find: 반복문으로 한줄씩 출력됨
same_ages라는 list 안의 dictionary가 한줄씩 출력됨.
다음과 같이 빈 중괄호를 사용하면 모든 값이 출력됨
same_ages = list(db.users.find({},{'_id':False}))
6. find_one: 리스트 값 하나만 가지고 오기
'bobby'라는 'name'을 가진 사람을 하나만 가지고 온다.
여러 명 있어도 제일 위에 있는 하나만 가지고 오는 명령.
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# insert / find / update / delete
user = db.users.find_one({'name':'bobby'})
print(user)
id 값 안보이게 하기
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# insert / find / update / delete
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user)
리스트의 딕셔너리의 'age'의 값을 출력
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# insert / find / update / delete
user = db.users.find_one({'name':'bobby'},{'_id':False})
print(user['age'])
7. update
명령이 복잡해서 복사-붙여넣기를 많이 이용함.
#update_one: name이 bobby인 맨위 사람을 찾아서 age를 19로 바꿔라.
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
update_many()도 있으나, 잘 쓰이지 않음. 실수가 잦게 됨
#update_many: name이 bobby인 사람을 모두 찾아서 age를 19로 바꿔라.
db.users.update_many({'name':'bobby'},{'$set':{'age':19}})
#name이 bobby인 사람을 delete 해라.
db.users.delete_one({'name':'bobby'})
9. 전체 요약
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# insert / find / update / delete
# 저장 - 예시
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'})