이 포스팅은 인프런의 'NoSQL/DB(몽고DB) 기초와 파이썬 활용' 강의를 들으면서 정리한 내용입니다 :)
지난 시간까지 mongodb 만을 이용해서 CRUD 를 실습해보았습니다.
이번에는 주피터 노트북 안에서 mongodb를 import 하여 CRUD 를 해보겠습니다.
우선 pip install 을 이용해서 pymongo 를 설치 후 import 합니다.
그리고 본인의 mongodb 에서 접속하면 됩니다.
접속할 때, 주소는 따로 넣지 않는다면 mongodb 의 기본 포트인 27017 을 기준으로 localhost 에 접속합니다.
별도의 connection 을 생성해주었다면 위 [3] 셀처럼 입력해주시면 됩니다. (위 주소는 예시입니다.)
일단 이번 시간에는 기본 로컬 mongodb 로 접속하겠습니다.
아래에서 knowledge 라는 db에 접속 후 인스턴스화 하였습니다.
knowledge 이름의 db가 없을 경우 자동 생성됩니다.
그 다음 knowledge 이름의 db 에 it 라는 이름의 컬렉션을 접속하고 인스턴스화 합니다.
여기서도 컬렉션이 없을 경우에는 자동으로 해당 이름의 컬렉션이 생성됩니다.
자, 이제 CRUD 를 할 준비가 되었습니다.
정리하자면
1. pymongo 라이브러리 import
2. mongodb 접속 (주소)
3. 내가 사용할 database, collection 생성 또는 선택
까지 완료했습니다.
이제, 데이터를 insert 해보겠습니다.
insert_one 과 insert_many 의 차이는 이름 그대로 입니다.
insert 작업이 수행되면 _id 라는 이름의 해시함수? 같은게 생성됩니다.
(저런거 부르는 명칭이 따로 있던걸로 아는데 갑자기 생각이 안나네요 ㅠㅠ)
robo 에서 insert 됐다는 작업 행위에 대한 해시함수같은 번호가 그대로 적용됨을 확인할 수 있습니다.
(약간 다를수도 있어요. 캡쳐를 순서대로 한 게 아니라서요! robo 에서 확인은 됩니다! )
카운트를 할 때는
count_document( {} ) 가 권장됩니다 :)
read 는 find 로 하면 됩니다.
mongo shell 에서 작업하던 것 처럼 {} 중괄호를 통해서 저건을 지정해주면 됩니다.
특별히 설명드릴게 없네요 :)
update 도 비슷한 양식입니다.
핵심은 콤마를 중심으로 왼쪽에 중괄호로 덮는 게 기존 값 중에서 조건으로 검색하기 !
오른쪽에 중괄호로 덮는 부분이 변경해주는 조건 설정
이제, 삭제를 하겠습니다.
삭제는 더 간단합니다. 원하는 조건만 넣어주면 끝입니다.
이제 db 를 하나 생성하고 컬렉션 만들어서 CRUD 작업을 하나씩 해보겠습니다 :)
이번 포스팅에서는 각 메서드마다의 설명을 굳이 자세히 할 필요가 없다는 생각이 들어서 실습했던 코드를 보여주는 식으로만 작업을 했습니다. 저번, mongodb CRUD 작업을 해보았다면 쓰는 법에서는 큰 차이가 없다는 것을 느낄 수 있다고 생각하기 때문입니다. 약간의 차이는 위에서 실습을 통해 스스로 충분히 알 수 있을 거라고 생각합니다.
이상 pymongo 에서 CRUD 실습을 해보았습니다 :)
'CS+ > SQL' 카테고리의 다른 글
MongoDB 입문 3단계 document 수정(update) , 삭제(delete) (0) | 2020.04.12 |
---|---|
MongoDB 입문 2단계 document 읽기(검색) find (0) | 2020.04.11 |
MongoDB 입문 1단계 실행 (start, status, use) , 입력(insert) (0) | 2020.04.11 |
SQL JOIN - left join, inner join (feat. MY SQL) (0) | 2020.02.11 |
Mysql - LIKE , IF, CASE (0) | 2020.02.08 |