티스토리 뷰

카테고리 없음

3. [MongoDB] 기본 명령어2탄!

미니대왕님 2020. 4. 20. 12:12

1. [MongoDB ]Centos 7  설치편 입니다.

2. [MongoDB] 기본 명령어

3. [MongoDB] 기본 명령어2탄!

1. 데이터베이스 생성

1. db를 보여주기 위한 명령어는 show dbs 하여 admin 과 local dbs 를 볼수가 있다. 

1. db 현황을 조회 할수가 있다.  
> show dbs
admin  0.000GB
local  0.000GB

2. 컬렉션을 조회 해본다. 
> show collections
... 아무 내용도 나오질 않네요

3. tommydb 를 사용한다고 명령어를 치면 tommydb 를 사용하겠다는 뜻이다. 
> use tommydb
switched to db tommydb

4. tommydb 사용중이라고 나온다.
> db
tommydb

5. db에 아무 내용을 입력하지 않으면 dbs 가 생성되지 않음을 알수가 있다. 
> show dbs
admin  0.000GB
local  0.000GB

6. name 을 tommytest 로 입력후 dbs 를 조회 해보자  
> db.book.insert({"name":"tommytest"})
WriteResult({ "nInserted" : 1 })

7. 정상으로 tommydb 가 입력되었음을 알수가 있다. 
> show dbs
admin    0.000GB
local    0.000GB
tommydb  0.000GB

 

2. 데이터베이스 제거

자 이제 db를 삭제 해보자 
1. 조회해서 tommydb 를 삭제 해보자 
> show dbs
admin    0.000GB
local    0.000GB
tommydb  0.000GB

2. tommydb 들어 간다. 
> use tommydb
switched to db tommydb

3. 스위치 된것을 확인하게 되면 drop 시켜 본다. 
> db.dropDatabase();
{ "dropped" : "tommydb", "ok" : 1 }

4. 정상 드롭되었음을 확인해본다.
> show dbs
admin  0.000GB
local  0.000GB

 

3. 컬렉션 생성

1. 이번엔 컨렉션을 생성해보자 
> show dbs
admin  0.000GB
local  0.000GB

2. tommy_test 라는 db 로 들어가보자 
> use tommy_test
switched to db tommy_test

3. 스위치 된것을 확인해보자. 
> db
tommy_test

4. 아직 tommy_test 가 생성안되었음을 알수가 있다. 
> show dbs
admin  0.000GB
local  0.000GB

5. 한개의 컬렉션 book 로 입력해보자 
> db.createCollection("book")
{ "ok" : 1 }

6. dbs 에 tommy_test 가 생성되었음을 확인 할수가 있다. 
> show dbs
admin       0.000GB
local       0.000GB
tommy_test  0.000GB
>

 

4. 컬렉션 추가 후 확인해보자 

1. tommy_test 라는 디비에 articles 라는 컬렉션을 추가 해보자 

> db.createCollection("articles", {capped: true, size: 6142800,max: 10000})
{ "ok" : 1 }
>

2. 컬렉션 조회 해보면 아까 했던 book 과 articles가 추가 되었음을 알수가 잇다. 
> show collections;
articles
book
>

 

5. 컬렉션 삭제해보자 

1. tommy_test 라는 db 에 tommy_test 라는 컬렉션을 추가 해보자 
> db.tommy_test.insert ({"name":"cheesu"})
WriteResult({ "nInserted" : 1 })


2. 컬렉션을 조회해보면 tommy_test 라는 컬렉션이 입력된걸 볼수가 있다.
DB 와 컬렉션을 헷갈리지 말기 위한 테스트 이기도 하고 동일이름이 된다는걸 확인하기 위해서다.
> show collections;
articles
book
tommy_test

3. tommy_test 라는 컬렉션을 삭제 해보자 
> db.tommy_test.drop()
true

4. 컬렉션을 조회해보면 tommy_db 가 삭제 되었음을 확인 할수가 있다. 

> show collections;
articles
book
>

 

6. Document 추가

이 Document가 일반 RDBMS에서 말하는 row, data, 행, 뭐 이런거라고 생각하면 조금 이해가 빠를 거라 생각 된다.

 

1. book 컬렉션에 book1, book2 의 도큐먼트를 insert 해보자 
>  db.book.insert([
... ... {"name": "Book1", "author": "Cheesu"},
... ... {"name": "Book2", "author": "Yamea"}
... ... ]);

2. 컬렉션을 의 도큐먼트를 조회 하는 방법은 find 명령어를 이용한다. 
> db.book.find()
{ "_id" : ObjectId("5e9d110121e8846b9fbca187"), "name" : "Book1", "author" : "Cheesu" }
{ "_id" : ObjectId("5e9d110121e8846b9fbca188"), "name" : "Book2", "author" : "Yamea" }

3. 아무것도 없는 articles 에는 find해도 조회 되지 않음을 알수가 있다. 
> db.articles.find()

4. 컬렉션 조회 와 도큐먼트 조회는 find 이므로 이부분 헷갈리지 말자!
> show collections;
articles
book

>

 

7. Document 제거

명령어 : db.컬렉션이름.remove(criteria, justOne)

critetia : 삭제할 데이터의 기준값. 이 값이 {} 이면 컬렉션의 모든 데이터를 제거
justOne : 선택적 매개변수이며 이 값이 true면 1개의 다큐먼트만 제거 합니다. 
           생략하면 기본값은 false이며 criteria에 해당되는 모든 다큐먼트들을 제거 한다.
자 이젠 도큐먼트를 제거 하는 방법을 실행해보자 
이름 name 이 book1 인놈을 찾아서 제거해보자!
1. 우선 find 로 조회 해보면 book1, book2 가 조회됨을 알수가 있다. 
> db.book.find()
{ "_id" : ObjectId("5e9d110121e8846b9fbca187"), "name" : "Book1", "author" : "Cheesu" }
{ "_id" : ObjectId("5e9d110121e8846b9fbca188"), "name" : "Book2", "author" : "Yamea" }
>

2. remove 로 book1 을 지워보자..
> db.book.remove({"name" : "Book1"})
WriteResult({ "nRemoved" : 1 })

3. 조회할경우 book2 만 남아있음을 알수가 있다. 
> db.book.find()
{ "_id" : ObjectId("5e9d110121e8846b9fbca188"), "name" : "Book2", "author" : "Yamea" }
>

1. [MongoDB ]Centos 7  설치편 입니다.

2. [MongoDB] 기본 명령어

3. [MongoDB] 기본 명령어2탄!

댓글