Published: Feb 4, 2020 by Dev-hwon
MongoDB
몽고DB(MongoDB←HUMONGOUS)는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되는 몽고DB는 JSON과 같은 동적 스키마형 도큐먼트들(몽고DB는 이러한 포맷을 BSON이라 부름)을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다. 이로써 특정한 종류의 애플리케이션을 더 쉽고 더 빠르게 데이터 통합을 가능케 한다. 아페로 GPL과 아파치 라이선스를 결합하여 공개된 몽고DB는 자유-오픈 소스 소프트웨어이다.
[출처] 위키백과
NoSQL BOOSTER FOR MONGODB
NoSQL BOOSTER FOR MONGODB 사이트 들어가서 설치
- 설치 후 connect
서버와 이름 설정.
MongoDB는 처음 사용자 설정을 하지 않는다. 하지만 Authentication(인증)을 통해서 사용자 관리를 할 것!
python과 연동하기 (pymongo)
pymongo 모듈 사용하여 python과 MongoDB를 연동
import pymongo
DB_HOST = 'XXX.XX.XX.XXX:27017'
DB_ID = 'ID'
DB_PW = 'PW'
client = pymongo.MongoClient('mongodb://%s:%s@%s' % (DB_ID, DB_PW, DB_HOST))
## 비밀번호가 걸려있지 않는 경우
# client = pymongo.MongoClient(ip 주소, port 번호)
# DB 객체 할당 받기
db = client['DB 이름']
# Collection 객체 할당 받기
collection = db['Colection 이름']
# Document insert 하기
post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"] }
collection.insert(post)
## 해당 Document의 id 반환형으로 받는 방법
# post_id = collection.insert(post)
## Dict 리스트를 insert 하기
new_posts = [{},{}]
collection.insert(new_posts)
# Collection 목록 보기
coll_list = db.collection_names()
## system indexes는 인덱스 정보를 보관하고 있는 특수 콜렉션
# [u'system.indexes', u'collection']
# Document 하나 가져오기
doc = collection.find_one({})
# Document 여러개 가져오기
docs = collection.find(
{}, # query criteria
{} # projection
)