Mongo DB 를 다루기위해서 기본적인 커맨드를 정리해본다.
혹시 설치를 못하신 분은 아래의 포스팅을 참고~!
https://freekim.tistory.com/12
1. MongoDB 서버 실행
> mongod --dbpath <DB 경로>
Command 창을 열어 위의 명령어를 실행해준다. 기본경로에 파일을 만든 사람은 그냥 mongod 만 쳐도 되고 path 를 따로 지정해주고 싶으면 뒤의 --dbpath 와 원하는 경로도 같이 넣어줘서 폴더를 지정할 수 있다.
2. MongoDB 쉘 실행
> mongo
서버를 실행해 둔채로 새로운 커맨드창을 여러 위의 커맨드를 실행한다.
아래와 같이 Shell Command 창으로 전환이 되는 것을 볼 수 있다.
3. 데이터베이스 생성
> use <DB 이름>
데이터 베이스를 사용하려면 관계형 db에서 database를 만들고 table 을 만들어 주는 것과 똑같이 database 를 먼저 만든 후 collection 을 만들어 주면된다.
use 명령어를 통해서 db를 만들어준다. 이 database 를 사용하겟다! 라는 느낌 git checkout 같은 느낌.
> show dbs
현재 생성되어 있는 db들을 보여준다. use database 를 하자마자 show dbs를 하면 안보이는데 collection 을 만들어 주면 그때부터 보이니 당황하지 마시길.
> db
현재의 사용하고 있는 db를 보여준다.
4. 컬렉션 생성 및 보기
> db.createCollection("[COLLECTION_NAME]")
person collection을 예제로 생성한 뒤 show dbs 를 하면 databse db가 생성된 것을 볼 수 있다. 여기서 주의할 점은 db 는 만든 db명이 아니라 현재 db 를 가르키는 느낌으로 사용해주면된다. db를 바꾸고 싶으면 use 로 바꾸고 db.xxx해서 사용하면된다.
옵션도 있는데 필요할 때 찾아보시길..
> show collections
현재 생성된 collection들을 보여준다.
5. Document
insert()
> db.person.insert({"nickname":"freekim", "email":"test@google.com"})
document 는 insert 명령어를 통해 json format 으로 insert 한다. 배열의 형태로 넣으려면 [] 를 사용한다. json format 과 똑같다. 아래서 보면 알 수 있듯이 잘 들어갔다.
참고로 collection 을 안만들어도 insert 해주면 collection 이 생성되어 들어간다
find()
db.person.find()
find 를 이용하여 collection에 들어있는 값들을 볼 수 있다. 아주 잘 들어가 있다.
find(query, projection) 메소드는 query 와 projection parameter 를 주어서 원하는 조건의 검색과, 보고싶은 결과 선택도 가능하다. 0은 보기, 1은 안보기
query 는 필요할 때 인터넷에서 찾아보면 많다. 일단은 빠르게 CRUD 만 해보는 거니 Pass 하도록 하겠다.
6. 삭제
Document 삭제
> db.person.remove({"nickname":"freekim"})
nickname freekim 의 document 가 잘 삭제 되었다.
Collection 삭제
> db.[collection 이름].drop()
database 삭제
> db.dropDatabase()
시작 하면서 만든 database db 가 잘 지워졌다.
마치며..
Mongodb 의 기본적인 동작들을 해보았다. 개발하면서 필요한 기능이나 쿼리들은 검색을 하면 쏟아질 것이니 일단 가볍게 개발을 시작하고, 필요할 때 찾아 써봐야겠다.
Update 와 find 에 대해서 자세한 명령어는 아래의 사이트에 아주 잘 정리되어 있어 굳이 두번 정리하지 않겠다.
https://poiemaweb.com/mongdb-basics-shell-crud
'MongoDB' 카테고리의 다른 글
[MongoDB] 몽고디비(NoSQL)의 개념과 설치 방법 (Window) (1) | 2020.03.29 |
---|