DB

이선민·2021년 4월 23일
0

mongoDB

  • 문서지향(Document-Oriented) 저장소를 제공하는 NoSQL 데이터베이스 시스템
  • MongoDB 는 유연하고 JSON과 유사한 문서에 데이터를 저장한다. 즉, 필드는 문서마다 다를 수 있으며 시간에 따라 데이터 구조를 변경할 수 있다.
  • Join이 없으므로 Join이 필요 없도록 데이터 구조화가 필요
  • MongoDB는 기본적 으로 분산 데이터베이스 이므로 고 가용성, 수평 확장 및 지리적 분포가 내장되어 있고 사용하기 쉽다.

No-SQL

  • 단어 뜻 그 자체를 따지자면 "Not only SQL"로, SQL만을 사용하지 않는 데이터베이스 관리 시스템(DBMS)을 지칭하는 단어이다.
  • RDBMS(SQL)처럼 고정된 스키마 및 JOIN 이 존재하지 않음
    스키마란? 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합이다.
  • NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다.

pymongo

  • pymongo 라이브러리를 활용하면 Python으로 MongoDB를 이용할 수 있다.
from pymongo import MongoClient
client = MongoClient('localhost', 27017) # mongoDB에 27017 포트 연결
db = client.dbsparta # 'dbsparta'라는 이름의 db생성

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

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

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

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

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

0개의 댓글