맛동산

파이썬과 MongoDB 연동_2)파이썬에서 MongoDB 연결하기 본문

DB/MongoDB

파이썬과 MongoDB 연동_2)파이썬에서 MongoDB 연결하기

오지고지리고알파고포켓몬고 2016. 12. 2. 12:49

<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\)





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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
·¬
'''¬
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()¬
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

<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과정이 따로 필요 없음.)


나머지는 간단한 예제 해본 것 들이고 문법에 대한건 따로 메모하지 않을 것 같음..


끝!




Comments