일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- spring
- 토네이도
- 백준
- API
- 설치
- 프레임워크
- BAEKJOON
- 자료형
- MongoDB
- 오픈한글
- OrientDB
- 파이썬
- Java
- r script
- 연동
- 저지
- 연결
- 배열
- AWS
- Python
- mariadb
- online
- 자바스크립트
- Judge
- 알고리즘
- Tornado
- r
- ubuntu
- Framework
- 이클립스
- Today
- Total
맛동산
파이썬과 MongoDB 연동_2)파이썬에서 MongoDB 연결하기 본문
<1>
1. https://pypi.python.org/pypi/pymongo/#downloads 에 접속하면 파이썬과 MongoDB의 커넥터 모듈을 받을 수 있음.
파이썬 설치 버전(3.4), 파이썬 설치 비트(x64)가 일치하는 것을 받음.
목록에서 조건을 일치하는게 위 사진에 표시해둔것임.
작성 시점으로 pymongo-3.4.0이지만 이 이름은 버전업이 되면 언제든지 바뀔 수 있으니 크게 상관안해도 됨
<2>
2. pymongo-3.4.0-cp34-none-win_amd64.whl 파일이 다운받아지면 확장자를 pymongo-3.4.0-cp34-none-win_amd64.zip으로 바꿔서 압축을 품.(whl이 뭐지? wheel?)
압축을 풀면 bson, gridfs, pymongo, pymongo-3.4.0.clist-info 폴더, 총 4개의 폴더가 생성 됨.
생성된 폴더를 위의 사진처럼 python_path의 패키지 라이브러리 경로에 복사함 (난 C:\Python34\Lib\site-packages\)
''' MongoDB 연동 ''' import pymongo from pymongo import MongoClient #from이 있을경우 import뒤에있는건 함수 인데 db연동 모듈 추가역할을 합니다 # db 연동 conn = MongoClient('127.0.0.1') # print(conn) # MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True) #db.collection.함수() # db 생성 db = conn.test_db # collection 생성 collect = db.collect # collect = conn.test_db.collect 쉽게말하면 이 db와 이 collect를 가지고있는거죠 #document 생성 : {'key':'value'} doc1 = {'empno':'10001', 'name':'hong', 'phone':'010-111-111', 'age':35} doc2 = {'empno':'10002', 'name':'lee', 'age':45} doc3 = {'empno':'10003', 'name':'yoo', 'phone':'010-222-222', 'age':25} del1 = {'empno':'10001'} del2 = {'$set':{'name':'뭐여'}} # collection에 문서 추가 collect.insert(doc1) collect.insert(doc2) collect.insert(doc3) #문서 삭제 : db.collection.remove() -> collect.remove() #collect.remove({'empno' : '10002'}) #문서 수정 : db.collection.update() #collect.update( {'empno':'10001'}, {'$set':{'name':'kim'}}, True)#조건, 수정할거, 똑같은거 모두 수정할건지 true/false # 전체 문서 조회 result = collect.find() #print(result) # 조회 문서 출력 for r in result : print(r) # 조건 검색 print('조건 검색') result2 = collect.find({ 'age':{'$gte':30} }) #크거나 같다 for r in result2 : print(r) #컬렉션 제거 collect.drop()
<3>
3. 테스트
다른 DB 커넥터와 마찬가지로 모듈을 불러와서 DB통신을 처리함.
import pymongo
from pymongo import MongoClient
를 작성하면 MongoDB 커넥터 모듈을 사용할 수 있는데,
conn = MongoClient('127.0.0.1')
db = conn.test_db
collect = db.collect
부분이 연결을 담당하는 것이라고 생각하면 됨.
* conn.test_db에서 test_db는 오라클 기준으로 scott 사용자의 개념으로 생각하면 됨.
다른 DB에서 작업하고 싶다면 conn.test_db2 라는 식으로 사용하면 되는것.
* conn.test_db.collect에서 collect는 오라클 기준으로 테이블 개념으로 생각하면 됨.
다른 테이블에서 작업하고 싶다면 conn.test_db.user_table 같은 식으로 사용하면 되는 것.
(조만간 다시 정리하겠지만 MongoDB는 비정형 데이터베이스이기 때문에 create table과정이 따로 필요 없음.)
나머지는 간단한 예제 해본 것 들이고 문법에 대한건 따로 메모하지 않을 것 같음..
끝!
'DB > MongoDB' 카테고리의 다른 글
MongoDB import zip(directory) in windows (0) | 2017.07.11 |
---|---|
Spring 4.0에서 MongoDB 3.4.3 사용하기(3) (0) | 2017.06.30 |
Spring 4.0에서 MongoDB 3.4.3 사용하기(2) (0) | 2017.06.30 |
Spring 4.0에서 MongoDB 3.4.3 사용하기(1) (0) | 2017.06.30 |
파이썬과 MongoDB 연동_1)MongoDB 설치 (0) | 2016.12.02 |