Python/Python Programming

[Python] Monodb Connection Using pymongo. (파이썬을 이용한 몽고DB 이용)

Pydole 2019. 11. 6. 20:32

1. 몽고DB 샘플 도큐먼트 생성

> use testdb
switched to db testdb

> db
testdb

> db.book.insert({"name": "testdb", "author": "pydole"});
WriteResult({ "nInserted" : 1 })

> show dbs              # document가 하나라도 생성이 되어야 db가 보인다
admin   0.000GB
config  0.000GB
local   0.000GB
testdb  0.000GB

 

 

 

2. 몽고DB 인증모드 사용. (/etc/mongod.conf)

 

security: 
    authorization: enabled

 

 

 

 

3. pymongo 모듈 설치

 

pip install pymongo

Collecting pymongo
...
...
...
Successfully installed pymongo-3.9.0

 

 

 

4. pymongo를 이용하여 도큐먼트 가져오기. (보안을 위해 인증모드를 사용하기)

 

from pymongo import MongoClient
import urllib.parse

username = urllib.parse.quote_plus('username')
password = urllib.parse.quote_plus('password')
client = MongoClient('mongodb://%s:%s@host' % (username, password))

db = client.testdb
collection = db.book
 
docs = collection.find()

for i in docs:
    print(i)


---------------------------------------------
{'_id': ObjectId('5dc2a5817a8a97462ad90525'), 'name': 'testdb', 'author': 'pydole'}

 

 

 

5. pymongo를 db, collection, document 생성

 

from pymongo import MongoClient
import urllib.parse

username = urllib.parse.quote_plus('username')
password = urllib.parse.quote_plus('password')
client = MongoClient('mongodb://%s:%s@host' % (username, password))
 
mydb = client["mydb"]             # db 생성
mycollection = mydb["book"]       # collecion 생성
mydict = { "name": "worldbook", "author": "pydole" }   # sample 사전 데이타

docu = mycollection.insert_one(mydict)    # 사전 데이타 추가
docu = mycollection.find_one()            # 조회
docu

--------------------------------------------------------------------------------

{'_id': ObjectId('5dc2b75f14cb54c16f23927a'),
 'name': 'worldbook',
 'author': 'pydole'}