[de] Pymongo (1/2)

2023. 8. 31. 16:37data engineer/database

mongo를 파이썬으로 사용하는 방법

Mongo_client

mongo_client는 pymongo.mongo_client.MongoClient의 별칭으로

class pymongo.mongo_client.MongoClient(host='localhost', port=27017, document_class=dict, tz_aware=False, connect=True, **kwargs) 의 전체 내용을 담고있다.

따라서, 몽고 클라이언트는 객체로서 호출할 수 있다.

 

Mongo_client 연결 순서

  1. client 등록하기 -> localhost의 port: 27017 (default)
  2. rdb의 table과 같은 collection 불러오기
  3. rows에 해당하는 documents 불러오기

  
from pymongo import MongoClient
client = MongoClient("localhost",27017)
#client = MongoClient("mongodb://localhost:27017")
#db 가져오는 법
db = client.test
#db = client["test"]
#collection 가져오는 법
collection = db.multi
#collection = db["multi"]
documents = collection.find()
print(documents)
#결과: 객체로 확인 가능
>> <pymongo.cursor.Cursor object at 0x7f8568397af0>

여기서 pymongo.cursor.Cursor 는 query 요청시 나오는 결과 데이터셋에 향하는 포인터

파이썬의 Generator처럼 만들어졌고, 반복문을 통해 값을 불러올 수 있다!

 

가상의 score db

여기 가상의 score db가 있다고 하면 


  
from pymongo import MongoClient
from pprint import pprint
client = MongoClient("localhost", 27017)
db = client.test
score = db.score
#전체 doc출력
cursor = score.find()
for doc in cursor:
pprint(doc)
#이순신 doc 출력
lee = score.find({"name":"이순신"})
pprint(lee) # 커서객체 주소값만 나옴
for doc in lee:
pprint(doc) #이름이 이순신에 해당하는 doc 출력
#홍길동 doc 출력
hong = score.find_one({"name":"홍길동"})
pprint(hong)

 

 

 

'data engineer > database' 카테고리의 다른 글

[de]Bigquery:기본정보와 문법  (0) 2024.03.07
[de]Bigquery: 구글서치콘솔 데이터 확인  (0) 2024.03.01
[de]Bigquery  (0) 2024.02.29
[de] Oracle (1/3)  (0) 2023.09.21
[de] Pymongo (2/2)  (0) 2023.09.21