본문 바로가기
mongoDB

mongoDB

by 픠버 2022. 10. 24.

-DB를 쓰는 이유?

ex)우리가 방 정리를 하는 이유?  - 잘 찾기 위해서

ex)교보문고에 가서 책을 찾는 다고 하면? - 꽂혀진 방법대로 찾아야함  (섹션 → 출판사 → 책 제목)

 

Database,두가지 종류

-RDBMS(SQL) ----------ex)MS-SQL, MY-SQL 등

행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사합니다. 데이터 50만 개가 적재된 상태에서, 갑자기 중간에 열을 하나 더하기는 어려울 것입니다. 그러나, 정형화되어 있는 만큼, 데이터의 일관성이나 / 분석에 용이할 수 있습니다.

 

-No-SQL--------- ex) mongoDB

딕셔너리 형태로 데이터를 저장해두는 DB입니다. 고로 데이터 하나 하나 마다 같은 값들을 가질 필요가 없게 됩니다. 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족할 수 있습니다.

 

 

mongoDB - Atlas 연결하기

 

pymongo 라이브러리의 역할

-mongoDB 라는 프로그램을 조작하려면, 특별한 라이브러리, pymongo가 필요!!

 

-패키지 설치 (pymongo, dnspython)

 

-pymongo 기본 코드

from pymongo import MongoClient

client = MongoClient('여기에 URL 입력')

db = client.dbsparta

-잘 연결됐는지 테스트

doc = { '

name':'bob', 'age':27

}

 

db.users.insert_one(doc)

 

----pymongo 코드

# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})