MongoDB 의 전반적인 쿼리문법을 학습했다. MongoDB는 데이터를 객체의 JSON 형식으로 출력하고 BSON으로 데이터베이스에 입력한다. JSON JavaScript Object Notation 으로 "키-값"으로 이루어진 데이터 객체를 텍스트로 표현한 포맷이다. BSON은 Binary JSON으로 JSON 문서를 바이너리로 인코딩한 포맷이다. BSON이 JSON 보다 처리할때 더 적은 메모리로 빠르게 처리가 가능하기 때문에 저장할 때는 BSON으로 저장하고 있다. MongoDB에서 쿼리 할때 문법이 정말 많아서 아직 모두 공부하지는 못했지만 database, collection에 대한 부분을 정리하려고 한다.
MongoDB는
Database > Collection > Document( > Field : Value ) 으로 구성되어 있다. 전체적으로는 Database 안에 여러 주제별로 분류된 collection 안에 document 데이터가 JSON 형태로 저장되어있다. JSON 안에는 어떤 데이터 타입도 들어갈 수 있어서 SQL에서는 다루기 어려운 데이터 타입도 저장하고 사용할 수 있다. Document에는 객체 형태로 키와 값이 쌍으로 연결되어 있다. 값에는 어떤 데이터 타입도 들어갈 수 있다. 그래서 경우에 따라서는 값에 배열에 객체에 배열로 여러 레벨의 데이터도 나올 수 있다. 이렇게 많이 들어가면 데이터의 가독성이 좋지 않다. 그래서 원하는 값을 찾기 위해서 query 문법으로 필요한 데이터를 찾아서 사용한다.
만들어져 있는 Database 목록을 볼때 show 키워드를 사용한다
문법
show dbs
MongoDB를 연결하게 되면 기본적인 클러스터에 공간이 마련된다. 여기서 이제 어떤 collection을 모은 Database를 만들지 결정하면 된다.
문법
use <생성할/사용할 Database이름>
예)
use weatherdata
이 명령어를 사용하면 해당하는 데이터베이스가 없으면 새로 생성되고 있으면 그 데이터베이스를 접속하듯이 그 안에 있는 collection에 접근할 수 있다. 여러 데이터베이스를 만들 수 있는데 데이터베이스를 스위칭 하면서 사용하게 된다. 그래서 사용할 데이터베이스로 이동하려면 use 키워드를 이용할 수 있다.
이 명령어로 데이터베이스를 삭제하려면 우선 삭제할 데이터베이스로 들어가야 한다. use <삭제할 데이터베이스> 로 들어간 다음에 db.dropDatabase() 명령어를 입력하면 해당 데이터베이스가 삭제된다.
문법
use <삭제할 Database이름>
db.dropDatabase()
예)
use weatherdata
db.dropDatabase()
해당 Database에 생성되어 있는 Collection을 확인 할때도 show 키워드를 사용한다.
문법
show collections
이 명령어로 document들을 주제별로 담을 collection을 생성할 수 있다.
문법
db.createCollection(<collection 이름>)
예)
db.createCollection(seoul)
이 명령어로 collection을 삭제할 수 있다.
문법
db.<collection 이름>.drop()
예)
db.seoul.drop()